Todo List

Global app_widget_launch (struct workqueue_task *task)

Add code to set up button here.

Add code to set up basic frame here.

Group board_ram_group

Remove dependency on CONFIG_CPU_HZ, implement sysclk_get_xxx_hz()

Revisit when EBI driver for XMEGA is ready and this can be moved into include/bus/ebi/params.

Global cpu_enter_sleep (void)

Currently, this function does nothing. We probably want to at least enter Idle mode when the workqueue is empty.

Currently, no sleep modes deeper than Idle will be entered. Deeper sleep modes will require a proper sleep manager to be implemented and supported by all drivers.

Global font_data_type
Add support for fonts in regular ram

Global gfx_select_chip ()
remove dependency on toolchain header files.

Group gfx_wtk

group some of the largest event handler functions into smaller helpers. They look too big and complex. By splitting up in smaller functions, the code would be easier to read and follow.

generalize shaded frame to work for e.g. menu window as well. Now it's taylored for a wtk_frame. It could easily be changed to shade any rectangular area. The shading itself would be the same, only how to get the coordinates differ.

ensure proper handling if resize through win_set_area is used on frame, since now it would resize container without doing anything to the other windows. The contents and resize window would look strange, malsized and malplaced. Somehow catch the ATTRIBUTES event and use the wtk_resize_frame() function. Move works fine though, since container is the parent window.

optimize/generalize code for controls like checkbox, radiobutton, label, since A LOT of the code is equal: container frame, caption etc.

Global pll_wait_for_lock (unsigned int pll_id)

Use a timeout to avoid waiting forever and hanging the system

Global sub_frame_draw_handler (struct win_window *win, struct win_clip_region const *clip)
Add code here to draw text on screen using the gfx_draw_string() function.

Global sysclk_get_main_hz (void)
This function assumes that the main clock source never changes once it's been set up, and that PLL0 always runs at the compile-time configured default rate. While this is probably the most common configuration, which we want to support as a special case for performance reasons, we will at some point need to support more dynamic setups as well.

Global tc_get_pclk_hz (uint8_t tc_id)
Revisit, remove dependence on CONFIG_CPU_HZ.

Global widget_frame_command_handler (struct wtk_basic_frame *frame, win_command_t command_data)
Add code here to handle button press.

Global win_draw_contents (const struct win_window *win, const struct win_clip_region *clip)
Either de-constify win or constify the parameter to win_handle_event(). The code below looks dangerous.

Global win_event_handler_t )(struct win_window *win, enum win_event_type type, const void *data)
Document the parameters and return value.

Global win_queue_event (const struct win_event *event)
Set a timestamp for each event.

Global wtk_progress_bar_create (struct win_window *parent, struct win_area const *area, uint8_t maximum, uint8_t value, gfx_color_t fill_color, gfx_color_t background_color, uint8_t option)

Revisit, support larger progress bars and values given a config symbol.

Global wtk_rescale_value (uint8_t value, uint8_t from_scale, uint8_t to_scale)

Revisit, support larger integers given a config symbol.

Global wtk_slider_create (struct win_window *parent, struct win_area const *area, uint8_t maximum, uint8_t value, uint8_t option, win_command_t command_data)

Revisit, support larger sliders and values given a config symbol.

Generated on Thu Apr 29 15:18:22 2010 for display-training by  doxygen 1.6.3