hx8347d LCD dirver
[hackover2013-badge-firmware.git] / ChangeLog.txt
1 v1.1.2 - ongoing
2 ==============================================================================
3 NEW FEATURES
4 ------------------------------------------------------------------------------
5 - Cleaned up /tools/testfirmware to include more recent blinky, etc.
6 - Added basic TEA5767 drive
7 - Added core/cmd/ansi.h (rediscover the joy of ANSI graphics codes :)
8 - Added fastHLine and fastVLine to lcdProperties_t for all lcd drivers (to
9 known whether an accelerated vertical or horizontal line drawing function
10 is present in the driver or not)
11 - Updated all LCD drivers to include the fastHLine and fastVLine flags
12 - Added PWM command to CLI (thanks Miceuz)
13 - Added optional callback in 32-bit timer ISR (thanks again Miceuz)
14
15 BUG FIXES/OPTIMISATIONS/ETC.
16 ------------------------------------------------------------------------------
17 - Minor accuracy improvement to pwm.c (off by 1 error)
18 - Fixed typos in cmd_pwm.c and cmd_tbl.h
19
20 v1.1.1 - 14 April 2012
21 ==============================================================================
22 NEW FEATURES
23 ------------------------------------------------------------------------------
24 - Added drawRoundedRectangle to drawing.c
25 - Added ability to select filled or empty rounded rectangles to the 'R' CLI
26 command
27 BUG FIXES/OPTIMISATION/ETC.
28 ------------------------------------------------------------------------------
29 - Fixed Crossworks Project (missing dependencies)
30
31
32 v1.1.0 - 9 April 2012
33 ==============================================================================
34 BREAKING CHANGES
35 ------------------------------------------------------------------------------
36 - Rewrote corner and rounded rectangle code. Only one corner enum is now used
37 (drawCorners_t)
38 - Renamed drawRectangleRounded to drawRoundedRectangleFilled
39 - Removed drawProgressBar and drawButton from drawing.c, since drawing should
40 only contain drawing primitives
41 - Reorganised a lot of the TFT drawing library to support external controls,
42 and dynamically switch between bitmap and anti-aliased fonts. In the future
43 everything that isn't a basic drawing primitive will be placed in it's own
44 control. The main benefit of this is that it's much easier to customize the
45 look and feel of your UI without having to modify drawing.c and the basic
46 drawing primitives, and to be able to switch from bitmap to anti-aliased
47 fonts depending on how much flash space you have free, etc.
48 - Removed bmp_error_t drawBitmapImage(uint16_t x, uint16_t y, char *filename)
49 to keep better seperation of primitives and more complex features, and
50 reduce external dependencies in drawing.c. Call bmpDrawImage (bmp.c)
51 directly instead.
52
53 NEW FEATURES
54 ------------------------------------------------------------------------------
55 - Added drawCorner to drawing.c
56 - Added new 'controls/' folder to the GFX library, and added a number of
57 controls that will render correctly with the theme settings, as well as
58 using bitmap or anti-aliased fonts, depending on projectconfig.h
59 - New controls:
60 - button
61 - hsbchart (Hue/saturation/brightness chart for color pickers)
62 - huechart (Hue selection gradient for color pickers)
63 - label
64 - labelcentered
65 - progressbar
66 - Added theme.h to try to define all of the color and font settings used by
67 the controls in one location to make it easier to update or modify
68 - Added aafontsCenterString to aafonts.c
69
70 BUG FIXES/OPTIMISATION/ETC.
71 ------------------------------------------------------------------------------
72 - Updated Crossworks Project to use LPC1000 Lib 1.19 (uses CMSIS 3.0)
73 - Some performance improvements to core/gpio/gpio.c (thanks Tom for the
74 suggestion)
75 - Fixed alpha blending when alpha = 100%
76 - Change gpioSetValue to be inline (should optimise to a single operation)
77
78 v1.0.0 - 23 March 2012
79 ===========================================================
80 - Added support for LPCXpresso IDE
81 - *** Moved '/drivers/chibi' to '/drivers/rf/chibi' ***
82 - *** Moved '/drivers/sensors/pn532' to '/drivers/rf/pn532' ***
83 - *** Renamed '/drivers/spiflash' to '/drivers/storage/spiflash' ***
84 - *** Renamed '/drivers/eeprom' to '/drivers/storage/eeprom' ***
85 - *** Renamed '/drivers/lcd' to '/drivers/display' ***
86 - Added I2C support to the SSD1306 driver
87 - Moved all color conversion and manipulation functions
88 to '/drivers/displays/tft/colors.c', and added a
89 few new functions: colorsDim(), etc.
90 - Added code to render antialiased fonts, based on
91 lookup tables (fast) or alpha-blending (mixed color
92 backgrounds). Support for AA2 (2-bit) and AA4
93 (4-bit) anti-aliased fonts included. Alpha-blending
94 only possible on displays where pixels can be read
95 back.
96 - Added drawGradient() to drawing.c
97 - Removed height parameter from drawButton. It's now
98 calculated based on the font height, and centered.
99 - Added bell to CLI when backspace is pressed beyond
100 the starting position (cosmetic, but still useful)
101 - Removed dependency on /core/libc files in Crossworks
102 when redirecting printf (added printf replacement
103 to sysinit.c instead)
104 - Added basic AS1115 driver for segment displays
105 - Added driver for HX8340-B based LCDs
106 - Added flag to projectconfig.h to disable the default
107 GPIO IRQ Handler functions in code/gpio/gpio.c (in
108 case you want to make your own ISR elsewhere)
109 - Added driver for Samsung VFD displays from Adafruit
110 - Added ADC average sampling option to projectconfig.h.
111 This allows you to take several readings from the
112 ADC and return the average. Helps reduces peaks and
113 valleys in the ADC due to noisen but at the expense
114 of slower reads.
115 See: "tools/validation/adctest" for more info
116 - Added I2C driver for PN532
117 - Updated and added PN532 examples to
118 /tools/examples/sensors/PN532
119 - updated touchscreen.h to be a bit clearer during
120 calibration, though it can still be much better
121 organised
122 - Had to add "__asm volatile("nop");" after pin writes
123 in the ILI9328 driver since some LCDs couldn't
124 keep up with the high-speed writes with bit-banding
125 - Fixed I2C clock duty cycle registers
126 - Changed I2C buffer size from 32 to 64 bytes (i2c.h)
127 - Added CFG_BRD_LPC1343_OLIMEX_P to board selection
128 in projectconfig.h (courtesy PHK)
129 - Added SSD1331_COLORORDER_RGB flag to SSD1331.h to
130 select between RGB and BGR color order
131 - Added 128x32 support to ssd1306.c and rewrote
132 initialize sequence for 128x32 and 128x64 displays
133 - Added driver for Sharp Memory Display
134 /drivers/lcd/bitmap/sharpmem
135 - Added SPI Flash example
136 /tools/examples/spiflash/*
137 - Added write function to SPI Flash driver
138 /drivers/spiflash/*
139 - Added CFG_BRD_LPC1343_REFDESIGN_MINIMAL as a board
140 option in projectconfig.h. Tries to keep the flash
141 use as small as possible by initialising less
142 peripherals in systemInit().
143 - Changed CodeLite project files to support real
144 debugging with a Segger J-Link and GDB Server.
145 - Fixed issue with USB CDC instantiation for
146 FreeBSD (courtesy PHK)
147 - Added experimental SSD1351 OLED driver to
148 /drivers/lcd/tft/hw
149
150 v0.9.5 - 3 August 2011
151 ======================
152
153 - Redid the font rendering code to use DotFactory
154 generated fonts, and update to the latest binary
155 in the /tools folder. All fonts have been
156 re-rendered to accomodate the updated code.
157 - Updated clock values in cpu.c for PLL to match FCCO
158 range of 156-320MHz
159 - Changed SCB_PLLCTRL_MULT_* to SCB_PLLCTRL_MSEL_* in
160 lpc111x.h to match usermanual
161 - Changed SCB_PLLCTRL_DIV_* SCB_PLLCTRL_PSEL_* in
162 lpc111x.h to match usermanual
163 - Added inline version of key functions in ili9328.c,
164 which increases the code size ~1.3KB but more than
165 doubles the drawing speed for most drawing functions
166 by avoiding branch operations and pushing and popping
167 the stack multiple times. Inline methods can be
168 toggled with 'ILI9238_USE_INLINE_METHODS'.
169 - Fixed IOCON_SWDIO_PIO1_3_FUNC_CT32B1_MAT2 in lpc134x.h
170 - Added drawCornerFilled() to drawing.c and LCD CLI
171 - Fixed a nasty bug with 'gpioInterruptEvent' in the
172 gpioSetInterrupt function (core/gpio/gpio.c)
173 - Add drawTriangle() and drawTriangleFilled() to
174 drawing.c and LCD CLI
175 - Added cpuReset() to reset the board via AIRCR
176 - Removed text input dialogue from LCD CLI ('T') to
177 save a few KB. Command file still exists, just no
178 longer included in cmd_tbl.h by default.
179
180 v0.9.2 - 14 June 2011
181 =====================
182
183 - Added ISL12022M RTC Driver (/drivers/rtc/isl12022m)
184 - Fixed a bug drawing filled circles with lcdDrawVLine
185 - Added CLI command to toggle LCD backlight
186 - Added rounded rectangle command to CLI
187 - Added CFG_INTERFACE_DROPCR to projectconfig.h to
188 ignore CR (\r) characters in incoming data for
189 the CLI
190 - Added CFG_INTERFACE_SHORTERRORS to projectconfig.h
191 to only send short (1 char + new line) CLI error
192 messages rather than something verbose
193 - Added CFG_INTERFACE_CONFIRMREADY to projectconfig.h
194 to provide a character to indicate when a command
195 is complete in case the IRQ pin
196 (CFG_INTERFACE_ENABLEIRQ) can't be used
197 - Fixed a bug with reversed R and B bits when reading
198 a pixel from the LCD in CLI mode
199 - Added lcdDrawPixels() to lcd.h and the current lcd
200 drivers to render rows of raw lcd data much quicker
201 than addressing consecutive pixels individually.
202 Can be used with windowing in future for fast
203 animation, continuously writing raw pixels in a
204 32x32 pixel frame, etc.
205 - Fixed ili9328SetWindow() and ili9325SetWindow().
206 They can now be used for fast screen paints of
207 restricted areas of the screen, such as animations
208 where raw pixel data is constantly fed to the LCD.
209 - Fixed pixel overflow bugs in drawCircleFilled(). Any
210 pixels that exceed screen limits will now be dropped,
211 though at the expense of slightly slower code.
212 - Added drawLineDotted() to drawing.c to draw lines with
213 a fixed pattern of empty and solid pixels
214 - Added __resetBootloader() macro to lpc134x.h to
215 reset and enter the USB bootloader (LPC1343 Reference
216 Design Base Board only since this depends on the
217 existance of the RC combination on the ISP pin).
218 To reset and executre code normally, the watchdog
219 time can be used (see "core/wdt").
220 - Added AIRCR register to lpc134x.h (Application Interrupt
221 and Reset Control Register).
222 - Added drawIcon16() to drawing.c to render monochrome
223 16x16 pixel icons from a byte array.
224 - Added a handful of common 16x16 icon definitions in
225 /drivers/lcd/icons16.h ... adapted from Gentleface
226 Toolbar Icon Set. For license terms see
227 http://www.gentleface.com/free_icon_set.html
228 - Added a few basic RGB565 color schemes to colors.h and
229 an image file showing the colors in /tools/colors_h.png
230 - Updated alphanumeric dialogue form to use new buttons.
231 - Rewrote drawButton() to use rounded rectangle and
232 all colors are now passed in as parameters. Also
233 modified the button command in the CLI to match this.
234 - Rewrote drawProgressBar() to take advantage of the
235 new rounded rectangle function (below). Also
236 modified the progress bar command in the CLI to
237 allow more colors to be indicated when rendering.
238 - Added drawRectangleRounded() to drawing.c (filled
239 rectangle with configurable rounded corners).
240 - Added drawArrow() to drawing.c to make small rectangles
241 for left/right menu items, etc.
242 - Completely rewrote the touch screen calibration code to
243 be much more accurate.
244
245 v0.9.0 - 28 March 2011
246 ======================
247
248 - Calibration process no longer starts automatically when
249 calibration data is not found in EEPROM. tsCalibrate()
250 now needs to called manually or from the CLI.
251 - Fixed a bug in cmd_tswait.c when no delay was passed.
252 - Added CLI command to set touch screen threshold
253 to register a touch event (since this can vary from
254 screen to screen). Type 'x' at the CLI to get/set
255 the value. The setting is persisted to EEPROM, and if
256 no value is found on EEPROM CFG_TFTLCD_TS_DEFAULTTHRESHOLD
257 from projectconfig.h is used.
258 - Adjusted touch screen code to check ADC values twice
259 and compare. If mismatch occurs, and error is returned.
260 This provides far more consistent TS values at the
261 expense of having to check the error results. See
262 'alphanumeric.c' for an example of doing this
263 correctly.
264 - Added seperate driver for ILI9328 based displays, even
265 though it seems to be identical to the ILI9325. Files
266 were seperated in case the initialisation needs to be
267 tweeked later or if incompatibilities are found.
268 - Added the ability to write the contents of the LCD
269 to a bitmap image, though it's very slow reading data
270 pixel by pixel and converting it to 24-bit RGB values.
271 Performance can definately be improved.
272 - Added 'drawRGB565toBGRA32' to drawing.c to convert
273 RGB565 colors back to the canonical BGRA32 format
274 - Added gain controls to TSL2561 driver to increase or
275 decrease sensitivity. Should be easy to implement
276 auto-gain functionality now.
277 - Changed USB VID to a valid value. Source files and
278 lpc134x-vcom.inf updated accordingly.
279 - Moved USB VID and PID to projectconfig.h
280 - Added '-mcpu' flag to the linker in Makefile (the wrong
281 libm was being linked because of this).
282
283 WARNING
284 --------------------------------------------------------
285 - Some config settings in EEPROM were relocated in v0.90+
286 of the LPC1343 Code Base to take into account the new
287 touch screen calibration code. See projectconfig.h
288 for more details of the new EEPROM layout.
289
290 v0.8.6 - 21 March 2011
291 ======================
292
293 - Added DWT section to LPC134x.h (see Cortex-M3
294 Technical Reference Manual section 8.3)
295 - Added CPU_RESET_CYCLECOUNTER to cpu.c to do rough
296 in-code performance checks (counts CPU cycles)
297 - Added '-lm' to linker in Makefile for math.c support
298 - Increased MAX_STRING_SIZE from 100 to 255 in stdio.c
299 - Added driver for the TCS3414 RGB color sensor
300 - Added driver for the TSL2561 digital light sensor
301 - Added CFG_USBCDC_BUFFERSIZE to projectconfig.h
302 instead of cdc_buf.h.
303 - Added a PWM example using a piezo buzzer (see
304 'tools/examples/basics/pwm_piezobuzzer' for details)
305 - Added ctype.c to 'core/libc'
306 - Changed Crossworks project to use libc files from
307 'core/libc' and modified the USB CDC printf to be
308 much faster by redirecting inside 'puts' rather than
309 '__putchar' (see 'sysinit.c').
310 - Fixed a bug in LPC134x.h ... USB_CMDCODE write and read
311 masks were reversed
312 - Added a simple example of reading the card ID from an
313 ISO14443A (Mifare Classic, etc.) card using the PN532
314 ('/tools/examples/sensors/pn532/ISO14443A_ID').
315 - Added an 'lcd' folder to 'tools/examples' showing how to use
316 the generic lcd drawing routines, the touch-screen, etc.
317 - Rewrote part of the touch screen calibration code to get more
318 accurate results. Each point is now tested twice and the
319 results are averaged. Values beyond a certain limit are also
320 rejected to ignore wacky readings.
321 - Added a preliminary PN532 (NFC/RFID) driver. Currently UART
322 only, and only allows simple commands to be sent and received.
323 By default, all data is fed out to the console via printf.
324 Will be elaborated and expanded in future releases.
325 - Cleaned up the ILI9325 TFT LCD driver a bit, adding a proper
326 enum for the commands, etc.
327
328
329 v0.8.5 - 7 March 2011
330 =====================
331
332 - Fixed a problem with GDB script when deploying firmware
333 with Segger J-Link in CodeLite. Code will now deploy
334 and start executing properly when F5 is pressed (assuming
335 the Segger GDB Server software is running in the background).
336 - Interrupts are now disabled while feeding the watchdog as per
337 a warning in the usermanual.
338 - Changed fonts for TTF LCDs. DejaVu Sans 9 is now used by default
339 in the LPC1343 Code Base. The following open source fonts have
340 been converted using The Dot Factory (see '/tools/dotfactory') and
341 can be found in '/drivers/lcd/tft/fonts':
342
343 FONT NAME WIDTH
344 ------------------------------- ----------
345 - Bitstream Vera Mono 9 Fixed (8)
346 - Bitstream Vera Mono 9 Bold Fixed (8)
347 - Bitstream Vera Mono 11 Fixed (9)
348 - Bitstream Vera Mono 11 Bold Fixed (9)
349 - DejaVu Sans 9 Variable
350 - DejaVu Sans 9 Bold Variable
351 - DejaVu Sans Condensed 9 Variable
352 - DejaVu Sans Mono 8 Fixed (8)
353 - DejaVu Sans Mono 8 Bold Fixed (8)
354
355 - Modified projectconfig.h to select the target board and configure
356 the project accordingly. This isn't ideal, but it's a lot more
357 maintainable than have a seperate code base for every board since
358 they share 95% of the same code.
359 - Modified WDT code to use the WDT oscillator (rather than the
360 external crystal)
361 - Fixed a bug when waking up from sleep in Chibi. Removed systick
362 delay when toggling reset and slptr pins since this was causing
363 a blocking condition with the wakeup ISR.
364 - Added an example of how to retrieve the MCU's unique
365 128-bit serial number using IAP (core/iap)
366 - Added an option to projectconfig.h to select which pin to use for
367 SCK on SSP0, since the QFN33 package doesn't have all the same
368 pins.
369 - Updated Chibi to v0.91 (adds sleep method and promiscuous mode to allow
370 Chibi to act as an 802.15.4 packet sniffer, etc.).
371 - Added lcdProperties_t to lcd.h to indicate the properties of different
372 LCDs (to determine if there is a touch screen present, whether the
373 screen orientation can be changed, etc.)
374 - Added basic ST7735 LCD driver (128x160 pixel TFT LCD using 6-pin
375 SPI-esque interface). Work in progress (no orientation support, etc.).
376 - Added some simple examples in the 'tools/examples' folder.
377
378 v0.80 - 27 Jan 2011
379 ===================
380
381 - Added optimised lcdDrawVLine using orientation
382 though this should only be used on lines
383 greate than 20 pixels or so to see any real
384 advantage
385 - Added cmd_uart to allow the HW UART speed
386 to be set in EEPROM (between 9600 and
387 115200). Use the 'U' command.
388 - Updated Crossworks projects files to use
389 custom printf in 'core/libc' (gains about
390 1.3KB in release mode)
391 - Added driver for SSD1306 OLED displays
392 to '/drivers/bitmap/ssd1306'
393 - Changed commands in the CLI to single
394 characters and shortened descriptions
395 to save flash space (~0.7KB)
396 - Updated ILI9325 to allow the screen
397 orientation to be changed to portrait
398 of landscape mode.
399 - Added cmd_orientation to change the LCD
400 orientation from the CLI
401 - Fixed a bug in the PMU Wakeup interrupt
402 handler
403 - Added a circular buffer for outgoing CDC
404 data (cdc_buf.c) since you can only feed one
405 frame per ms (max 64 bytes). The speed needs
406 to be improved finding the right balance
407 between caching data and sending it to the EP,
408 but this should avoid any dropped characters.
409 More testing will be needed to improve this.
410 - Fixed a bug with the USB CDC buffer
411 - Added SILENTMODE to the CLI to disable the
412 command prompt and echo of input characters
413 (see CFG_INTERFACE_SILENTMODE). Useful
414 when another MCU is use the CLI rather than
415 a human.
416 - Added IRQ pin to the CLI to indicate when a
417 command is being processed (pin = low) and
418 when it has completed or a new command can
419 be processed (pin = high).
420 - Added 'cmd_tswait' to wait for a touch event
421 - Removed 'drivers/nfc/pn532' until proper drivers
422 can be written
423 - Added 'cmd_text' and 'cmd_textw' to the CLI to
424 render text on the LCD and get the width in
425 pixels of the specified text before rendering.
426
427 v0.70 - 18 Dec 2010
428 ===================
429
430 - Added 'calibrate' and 'gettext' commands to the CLI
431 - Added a dialogue box for the TFT LCD/Touchscreen
432 to input alpha-numeric data and return the
433 results as a string ('drivers/lcd/tft/dialogues/*')
434 - Added touch screen calibration code and UI
435 ('drivers/lcd/tft/touchscreen.c')
436 - Fixed a bug in ILI9325.c to make sure that the LCD
437 is reset during initialisation
438 - ** IMPORTANT ** Changed 'core/i2c/*' to fix a number
439 of bugs (thanks Rob65!) ... though this means all
440 i2c peripherals and drivers will need to be tested.
441 - Added 'colorscheme_t' to drawing.h to try to use a
442 standard color palette across GUI controls and make
443 it easy to change later. Currently only the button
444 and progress bar make use of this.
445 - Added 'lcdBacklightOn()' and 'lcdBacklightOff()' to
446 lcd.h
447 - Added 'CFG_TFTLCD_TS_THRESHOLD' to projectconfig.h
448 to configure touch-screen sensitivity when waiting
449 for a touch event
450 - Modified 'core/gpio/gpio.c' to reduce the compiled code
451 size. Repetitive switches where only the registers
452 change were modified to use temporary registers and
453 execute the code only once.
454 - Added the source and binaries for TheDotFactory to
455 'tools/dotfactory' for convenience sake. See:
456 http://www.pavius.net/downloads/tools/53-the-dot-factory
457 - Removed 'drivers/lcd/tft/tscalibration.c' and moved
458 the relevant code to touchscreen.c
459 - Removed the imgconv tool from 'tools/imgconv' (see
460 point below for more information)
461 - Removed the previous custom image code and replaced
462 it with 24-bit Windows bitmap files. This is a bit
463 slower (since 24-bit data needs to be converted to
464 RGB565 for each pixel and rows are rendered bottom
465 up making pixel drawing harder to optimise) but
466 converting and eventually saving images is easier.
467 The current code is functional but needs to be
468 heavily optimised.
469 - Made some minor optimisations to the data and cmd
470 functions in the ILI9325 driver. Other functions
471 need to be optimised as well, but these two should
472 be close to optimal now. Currently 25 cycles
473 compiled with -Os, 36 cycles with no optimisation.
474 - Added 'projects/command/drawing/cmd_bmp.c' to load
475 24-bit Windows bitmap images from the SD card and
476 display them on the TFT LCD.
477 - Added some schematics to '/tools/schematics' to
478 show the assumed pin configurations
479
480 v0.60 - 8 December 2010
481 =======================
482
483 - Added a number of CLI commands for the TFT LCD
484 (see 'project/commands/drawing')
485 - Modified FCLK_FAST() in 'drivers/fatfs/mmc.c' to set
486 the max speed to 6.0MHz for improved reliability.
487 Tested with a 4GB microSD card, 300KB/s can be read
488 using a 512 byte read buffer.
489 - Modified Chibi to use 16-bit timer 0 for us delays
490 (more accurate)
491 - Added a number of commands to
492 '/projects/commands/drawing' for basic TFT LCD
493 operations. Removed 'lcd-test.c' and 'lcd-fill.c'.
494 - Added a flag to projectconfig.h to make FATFS read-only
495 (to save a couple KB when space is tight).
496 - Moved 'project/eeprom.*' to 'drivers/eeprom' to add a
497 level of abstraction to eeprom access throughout the code
498 - Added a table to projectconfig.h to manage eeprom
499 addresses. First 256 byte of eeprom should be reserved
500 for this.
501 - Added 'drivers/lcd/tft/colors.h' to keep all common
502 16-bit RGB565 color definitions in one location
503 - Added some sample images to 'tools/imgconv' that can
504 be used to render a basic clock on a TFT LCD screen
505 (using drawImageFromFile in 'drivers/lcd/tft/drawing.c')
506 - Modified the makefile to automatically run './lpcrc'
507 post-build
508 - Added drawButton() to 'drivers/lcd/tft/drawing.c'
509 - Updated 'drivers/lcd/tft/touchscreen.c' to do basic
510 debouncing. tsReadZ() was added to detect pressure on
511 the touch screen, and tsWaitForEvent() will only exit
512 when the pressure passes a minimum threshold. (Thanks
513 to Limor for pointing out some code by Rossum for this.)
514 - Fixed some off-by-one pixel errors in cmd-test and
515 elsewhere
516
517 v0.51 - 27 November 2010
518 ========================
519
520 - Added simple RSA encryption/decryption driver. Currently limited to
521 using 64-bit and 32-bit numbers in key pairs, which isn't terribly secure,
522 but allows much smaller code size than if huge number support was included.
523 - Added a driver for the MCP4725 I2C DAC (see "drivers/dac/mcp4725").
524 - Moved 'rom_drivers.h' from 'core/usbhid-rom' to 'core' since it can be used
525 for usbmsd-rom as well if it is implemented at a later date.
526 - ili9325ReadData() added to ili9325.c by Adafruit Industries (thanks!)
527 - Modified FCLK_FAST() in 'drivers/fatfs/mmc.c' to set fast SPI speed
528 to 18MHz instead of the previous 4MHz. This allows for slightly faster
529 rendering of bitmap images from SD cards, amongst other things.
530 - Fixed ILI9325 driver to use 0,0 based pixels and not 1x1, meaning the
531 pixel co-ordinates are 0..239 for X and 0..319 for Y. There may still be
532 some off-by-one pixel issues that need to be further tested.
533
534 v0.50 - 26 October 2010
535 =======================
536
537 - Moved command.c and cmd_tbl.h to /project to try to keep all
538 project-specific files in one location to improve code-sharing and make
539 upgrading easier
540 - Created seperate .c files for every command for the command-line interface
541 to make it easier to maintain and share code between projects. All commands
542 listed in cmd_tbl.h are now stored in their own files in /project/commands
543 (ex.: "/project/commands/cmd_hello.c", etc.)
544 - Added a CLI command to demonstrate how to draw to the ILI9325 TFT LCD
545 - Added a CLI command to show the contents of any directory from the SD card
546 (/project/commmands/cmd_sd_dir.c)
547 - Added a CLI command showing how to enter deep-sleep and exit with a SW
548 wakeup (/project/commands/cmd_deepsleep.c). Please note that the wakeup
549 will not work if you are using USB for the CLI. To see the wakeup message,
550 you must use UART for the CLI, which is selected by uncommenting
551 CFG_PRINTF_UART in projectconfig.h
552 - Fixed pmu.c to set the core clock back to an appropriate state after wakeup
553 - Added simple wrapper for eeprom access (projects/eeprom.c)
554 - Reorganised drivers/lcd to take into account non TFT LCD displays.
555 - Added a preliminary (experimental) driver for 128x64 pixel ST7565-based
556 bitmap LCDs (ex: Adafruit Industries - http://bit.ly/9xj5vw) ... based on a
557 driver from Limor Fried at Adafruit
558 - Numerous bug fixes added by Roel Verdult (Linux compatibility, GCC warnings, etc.)
559 - Added stub files for PN532 driver (/drivers/nfc/pn532), and added CFG_PN532 to
560 projectconfig.h as an option
561 - Added a simple pwm example using 16-bit timer 1 and p1.9 (MAT0) for the output. PWM can be used
562 to drive stepper motors, or to dim LEDs by adjusting the duty-cycle, etc. The example can be
563 found in "/core/pwm"
564 - Added a bi-polar stepper motor driver based on the Arduino library. Basic position data was added
565 to detece deviation from the 'Home' position and to retrieve the spindle's current angle. See
566 "drivers/motor/stepper" for more information.
567 - Added test firmware for the UART and USBCDC CLI (tools/testfirmware)
568 - Added a table to projectconfig.h to try to keep track of pin and peripherals
569 usage by drivers and the included SW examples.
570 - Reorganised some pins used by drivers to avoid pin conflicts.
571 - Modified core/timer16/timer16.c to allow PWM output to be stopped after a
572 certain number of pulses have been sent out.
573
574 KNOWN ISSUES
575
576 - The SPI code needs to be modified to allow several SPI devices to be safely
577 connected on the same bus. At present, this has not been tested since the
578 SSP/SPI blocks are used exclusively in the current drivers.
579
This page took 0.059572 seconds and 5 git commands to generate.