Todo List

Global adc_hw_select_ch

only first 8 channels are selectable!

only first 8 channels are selectable!

Global ansi_mode
Move to Bitmap.flags.

Class Bitmap
For better ortogonality, split this structure into an Image and a plain drawing context called Painter.

Global gfx_blitRaster

Merge this function into gfx_blit()

Global gfx_line
Compute updated Bresenham error term.

Global gfx_lineUnclipped

Optimize for vertical and horiziontal lines.

File heap.h

Heap memory could be defined as an array of MemChunk, and used in this form also within the implementation. This would probably remove memory alignment problems, and also some aliasing issues.

Class Image
Use this as Bitmap and change Bitmap to Drawable.

Global msg_lockPort

Add a configurable policy for locking against interrupts and locking with semaphorse.

File readline.c

Use up/down to move through history The history line will be copied to the current line, making sure there is room for it.

Global ser_write
Optimize with fifo_pushblock()

File xmodem.c

Break xmodem_send() and xmodem_recv() in smaller functions.