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