From ff515c2c1b9c456843322f2b751a29f18e8e1b0e Mon Sep 17 00:00:00 2001 From: Oliver Schinagl Date: Mon, 29 Nov 2004 11:55:17 +0000 Subject: added doxygen html generated documenation fixe doxygen tags. --- .../doc/html/audio_2main_8hcc-source.html | 76 ++++ Graphic_Equalizer/doc/html/audio_8hcc-source.html | 69 ++++ Graphic_Equalizer/doc/html/audio_8hcc.html | 190 +++++++++ Graphic_Equalizer/doc/html/audio_8hcc__incl.map | 3 + Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/audio_8hcc__incl.png | Bin 0 -> 1800 bytes Graphic_Equalizer/doc/html/audio_8hch-source.html | 84 ++++ Graphic_Equalizer/doc/html/audio_8hch.html | 190 +++++++++ .../doc/html/audio_8hch__dep__incl.map | 7 + .../doc/html/audio_8hch__dep__incl.md5 | 1 + .../doc/html/audio_8hch__dep__incl.png | Bin 0 -> 2183 bytes .../doc/html/configuration_8hch-source.html | 113 ++++++ Graphic_Equalizer/doc/html/configuration_8hch.html | 49 +++ .../doc/html/configuration_8hch__dep__incl.map | 10 + .../doc/html/configuration_8hch__dep__incl.md5 | 1 + .../doc/html/configuration_8hch__dep__incl.png | Bin 0 -> 3114 bytes Graphic_Equalizer/doc/html/dir_000000.html | 20 + Graphic_Equalizer/doc/html/dir_000001.html | 20 + Graphic_Equalizer/doc/html/dir_000002.html | 22 ++ Graphic_Equalizer/doc/html/dir_000003.html | 44 +++ Graphic_Equalizer/doc/html/dir_000004.html | 36 ++ .../doc/html/display_8hcc-source.html | 319 +++++++++++++++ Graphic_Equalizer/doc/html/display_8hcc.html | 186 +++++++++ Graphic_Equalizer/doc/html/display_8hcc__incl.map | 7 + Graphic_Equalizer/doc/html/display_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/display_8hcc__incl.png | Bin 0 -> 3327 bytes .../doc/html/display_8hch-source.html | 48 +++ Graphic_Equalizer/doc/html/display_8hch.html | 118 ++++++ .../doc/html/display_8hch__dep__incl.map | 5 + .../doc/html/display_8hch__dep__incl.md5 | 1 + .../doc/html/display_8hch__dep__incl.png | Bin 0 -> 1808 bytes .../doc/html/display__shared_8hch-source.html | 63 +++ .../doc/html/display__shared_8hch.html | 44 +++ .../doc/html/display__shared_8hch__dep__incl.map | 5 + .../doc/html/display__shared_8hch__dep__incl.md5 | 1 + .../doc/html/display__shared_8hch__dep__incl.png | Bin 0 -> 1911 bytes Graphic_Equalizer/doc/html/doxygen.css | 271 +++++++++++++ Graphic_Equalizer/doc/html/doxygen.png | Bin 0 -> 1281 bytes .../doc/html/eventhandler_8hcc-source.html | 277 +++++++++++++ Graphic_Equalizer/doc/html/eventhandler_8hcc.html | 131 +++++++ .../doc/html/eventhandler_8hcc__incl.map | 9 + .../doc/html/eventhandler_8hcc__incl.md5 | 1 + .../doc/html/eventhandler_8hcc__incl.png | Bin 0 -> 4001 bytes .../doc/html/eventhandler_8hcc_a3_cgraph.map | 3 + .../doc/html/eventhandler_8hcc_a3_cgraph.md5 | 1 + .../doc/html/eventhandler_8hcc_a3_cgraph.png | Bin 0 -> 1043 bytes .../doc/html/eventhandler_8hch-source.html | 32 ++ Graphic_Equalizer/doc/html/eventhandler_8hch.html | 115 ++++++ .../doc/html/eventhandler_8hch__dep__incl.map | 3 + .../doc/html/eventhandler_8hch__dep__incl.md5 | 1 + .../doc/html/eventhandler_8hch__dep__incl.png | Bin 0 -> 1084 bytes .../doc/html/eventhandler_8hch_a1_cgraph.map | 3 + .../doc/html/eventhandler_8hch_a1_cgraph.md5 | 1 + .../doc/html/eventhandler_8hch_a1_cgraph.png | Bin 0 -> 1043 bytes .../doc/html/eventhandler__shared_8hch-source.html | 71 ++++ .../doc/html/eventhandler__shared_8hch.html | 45 +++ .../html/eventhandler__shared_8hch__dep__incl.map | 6 + .../html/eventhandler__shared_8hch__dep__incl.md5 | 1 + .../html/eventhandler__shared_8hch__dep__incl.png | Bin 0 -> 2233 bytes Graphic_Equalizer/doc/html/events_8hcc-source.html | 74 ++++ Graphic_Equalizer/doc/html/events_8hcc.html | 108 +++++ Graphic_Equalizer/doc/html/events_8hcc__incl.map | 4 + Graphic_Equalizer/doc/html/events_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/events_8hcc__incl.png | Bin 0 -> 2290 bytes Graphic_Equalizer/doc/html/events_8hch-source.html | 29 ++ Graphic_Equalizer/doc/html/events_8hch.html | 102 +++++ .../doc/html/events_8hch__dep__incl.map | 3 + .../doc/html/events_8hch__dep__incl.md5 | 1 + .../doc/html/events_8hch__dep__incl.png | Bin 0 -> 1024 bytes Graphic_Equalizer/doc/html/fft_8hcc-source.html | 436 +++++++++++++++++++++ Graphic_Equalizer/doc/html/fft_8hcc.html | 225 +++++++++++ Graphic_Equalizer/doc/html/fft_8hcc__incl.map | 4 + Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/fft_8hcc__incl.png | Bin 0 -> 2814 bytes Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map | 2 + Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 | 1 + Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png | Bin 0 -> 522 bytes Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map | 2 + Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 | 1 + Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png | Bin 0 -> 560 bytes Graphic_Equalizer/doc/html/fft_8hch-source.html | 22 ++ Graphic_Equalizer/doc/html/files.html | 36 ++ Graphic_Equalizer/doc/html/ftv2blank.png | Bin 0 -> 174 bytes Graphic_Equalizer/doc/html/ftv2doc.png | Bin 0 -> 255 bytes Graphic_Equalizer/doc/html/ftv2folderclosed.png | Bin 0 -> 259 bytes Graphic_Equalizer/doc/html/ftv2folderopen.png | Bin 0 -> 261 bytes Graphic_Equalizer/doc/html/ftv2lastnode.png | Bin 0 -> 233 bytes Graphic_Equalizer/doc/html/ftv2link.png | Bin 0 -> 358 bytes Graphic_Equalizer/doc/html/ftv2mlastnode.png | Bin 0 -> 160 bytes Graphic_Equalizer/doc/html/ftv2mnode.png | Bin 0 -> 194 bytes Graphic_Equalizer/doc/html/ftv2node.png | Bin 0 -> 235 bytes Graphic_Equalizer/doc/html/ftv2plastnode.png | Bin 0 -> 165 bytes Graphic_Equalizer/doc/html/ftv2pnode.png | Bin 0 -> 200 bytes Graphic_Equalizer/doc/html/ftv2vertline.png | Bin 0 -> 229 bytes Graphic_Equalizer/doc/html/globals.html | 30 ++ Graphic_Equalizer/doc/html/globals_func.html | 30 ++ Graphic_Equalizer/doc/html/graph_legend.dot | 22 ++ Graphic_Equalizer/doc/html/graph_legend.html | 74 ++++ Graphic_Equalizer/doc/html/graph_legend.png | Bin 0 -> 3938 bytes Graphic_Equalizer/doc/html/index.html | 8 + Graphic_Equalizer/doc/html/main.html | 14 + Graphic_Equalizer/doc/html/main_8hcc-source.html | 164 ++++++++ Graphic_Equalizer/doc/html/main_8hcc.html | 122 ++++++ Graphic_Equalizer/doc/html/main_8hcc__incl.map | 12 + Graphic_Equalizer/doc/html/main_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/main_8hcc__incl.png | Bin 0 -> 4132 bytes Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map | 10 + Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 | 1 + Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png | Bin 0 -> 3634 bytes Graphic_Equalizer/doc/html/mouse_8hcc-source.html | 116 ++++++ Graphic_Equalizer/doc/html/mouse_8hcc.html | 99 +++++ Graphic_Equalizer/doc/html/mouse_8hcc__incl.map | 4 + Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/mouse_8hcc__incl.png | Bin 0 -> 2471 bytes Graphic_Equalizer/doc/html/mouse_8hch-source.html | 38 ++ Graphic_Equalizer/doc/html/mouse_8hch.html | 92 +++++ .../doc/html/mouse_8hch__dep__incl.map | 3 + .../doc/html/mouse_8hch__dep__incl.md5 | 1 + .../doc/html/mouse_8hch__dep__incl.png | Bin 0 -> 909 bytes .../doc/html/mouse__shared_8hch-source.html | 53 +++ Graphic_Equalizer/doc/html/mouse__shared_8hch.html | 45 +++ .../doc/html/mouse__shared_8hch__dep__incl.map | 6 + .../doc/html/mouse__shared_8hch__dep__incl.md5 | 1 + .../doc/html/mouse__shared_8hch__dep__incl.png | Bin 0 -> 2211 bytes Graphic_Equalizer/doc/html/runfft_8hcc-source.html | 166 ++++++++ Graphic_Equalizer/doc/html/runfft_8hcc.html | 45 +++ Graphic_Equalizer/doc/html/runfft_8hcc__incl.map | 2 + Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/runfft_8hcc__incl.png | Bin 0 -> 1484 bytes Graphic_Equalizer/doc/html/runfft_8hch-source.html | 15 + Graphic_Equalizer/doc/html/sample_8hcc-source.html | 78 ++++ Graphic_Equalizer/doc/html/sample_8hcc.html | 182 +++++++++ Graphic_Equalizer/doc/html/sample_8hcc__incl.map | 2 + Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 | 1 + Graphic_Equalizer/doc/html/sample_8hcc__incl.png | Bin 0 -> 568 bytes Graphic_Equalizer/doc/html/sample_8hch-source.html | 37 ++ Graphic_Equalizer/doc/html/sample_8hch.html | 89 +++++ .../doc/html/sample_8hch__dep__incl.map | 2 + .../doc/html/sample_8hch__dep__incl.md5 | 1 + .../doc/html/sample_8hch__dep__incl.png | Bin 0 -> 568 bytes .../doc/html/smartmedia_8hcc-source.html | 215 ++++++++++ Graphic_Equalizer/doc/html/smartmedia_8hcc.html | 149 +++++++ .../doc/html/smartmedia_8hcc__incl.map | 8 + .../doc/html/smartmedia_8hcc__incl.md5 | 1 + .../doc/html/smartmedia_8hcc__incl.png | Bin 0 -> 3733 bytes .../doc/html/smartmedia_8hch-source.html | 62 +++ Graphic_Equalizer/doc/html/smartmedia_8hch.html | 135 +++++++ .../doc/html/smartmedia_8hch__dep__incl.map | 3 + .../doc/html/smartmedia_8hch__dep__incl.md5 | 1 + .../doc/html/smartmedia_8hch__dep__incl.png | Bin 0 -> 1047 bytes Graphic_Equalizer/doc/html/tree.html | 143 +++++++ .../doc/html/weights__256_8hch-source.html | 278 +++++++++++++ Graphic_Equalizer/include/mouse.hch | 2 +- Graphic_Equalizer/include/mouse_shared.hch | 2 +- Graphic_Equalizer/include/sample.hch | 40 -- Graphic_Equalizer/src/audio.hcc | 42 +- Graphic_Equalizer/src/display.hcc | 21 +- Graphic_Equalizer/src/eventhandler.hcc | 9 +- Graphic_Equalizer/src/events.hcc | 9 +- Graphic_Equalizer/src/main.hcc | 3 - Graphic_Equalizer/src/mouse.hcc | 6 +- Graphic_Equalizer/src/sample.hcc | 106 ----- Graphic_Equalizer/src/smartmedia.hcc | 6 +- 163 files changed, 6369 insertions(+), 197 deletions(-) create mode 100644 Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/audio_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/audio_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/audio_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/audio_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/audio_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/audio_8hch.html create mode 100644 Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/configuration_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/configuration_8hch.html create mode 100644 Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/dir_000000.html create mode 100644 Graphic_Equalizer/doc/html/dir_000001.html create mode 100644 Graphic_Equalizer/doc/html/dir_000002.html create mode 100644 Graphic_Equalizer/doc/html/dir_000003.html create mode 100644 Graphic_Equalizer/doc/html/dir_000004.html create mode 100644 Graphic_Equalizer/doc/html/display_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/display_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/display_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/display_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/display_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/display_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/display_8hch.html create mode 100644 Graphic_Equalizer/doc/html/display_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/display_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/display__shared_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/display__shared_8hch.html create mode 100644 Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/doxygen.css create mode 100644 Graphic_Equalizer/doc/html/doxygen.png create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch.html create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 create mode 100644 Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png create mode 100644 Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html create mode 100644 Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/events_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/events_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/events_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/events_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/events_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/events_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/events_8hch.html create mode 100644 Graphic_Equalizer/doc/html/events_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/events_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 create mode 100644 Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png create mode 100644 Graphic_Equalizer/doc/html/fft_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/files.html create mode 100644 Graphic_Equalizer/doc/html/ftv2blank.png create mode 100644 Graphic_Equalizer/doc/html/ftv2doc.png create mode 100644 Graphic_Equalizer/doc/html/ftv2folderclosed.png create mode 100644 Graphic_Equalizer/doc/html/ftv2folderopen.png create mode 100644 Graphic_Equalizer/doc/html/ftv2lastnode.png create mode 100644 Graphic_Equalizer/doc/html/ftv2link.png create mode 100644 Graphic_Equalizer/doc/html/ftv2mlastnode.png create mode 100644 Graphic_Equalizer/doc/html/ftv2mnode.png create mode 100644 Graphic_Equalizer/doc/html/ftv2node.png create mode 100644 Graphic_Equalizer/doc/html/ftv2plastnode.png create mode 100644 Graphic_Equalizer/doc/html/ftv2pnode.png create mode 100644 Graphic_Equalizer/doc/html/ftv2vertline.png create mode 100644 Graphic_Equalizer/doc/html/globals.html create mode 100644 Graphic_Equalizer/doc/html/globals_func.html create mode 100644 Graphic_Equalizer/doc/html/graph_legend.dot create mode 100644 Graphic_Equalizer/doc/html/graph_legend.html create mode 100644 Graphic_Equalizer/doc/html/graph_legend.png create mode 100644 Graphic_Equalizer/doc/html/index.html create mode 100644 Graphic_Equalizer/doc/html/main.html create mode 100644 Graphic_Equalizer/doc/html/main_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/main_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/main_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/main_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/main_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map create mode 100644 Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 create mode 100644 Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png create mode 100644 Graphic_Equalizer/doc/html/mouse_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/mouse_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/mouse_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/mouse_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/mouse_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/mouse_8hch.html create mode 100644 Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/mouse__shared_8hch.html create mode 100644 Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/runfft_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/runfft_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/runfft_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/runfft_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/runfft_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/sample_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/sample_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/sample_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/sample_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/sample_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/sample_8hch.html create mode 100644 Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hcc.html create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hch-source.html create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hch.html create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 create mode 100644 Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png create mode 100644 Graphic_Equalizer/doc/html/tree.html create mode 100644 Graphic_Equalizer/doc/html/weights__256_8hch-source.html delete mode 100644 Graphic_Equalizer/include/sample.hch delete mode 100644 Graphic_Equalizer/src/sample.hcc diff --git a/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html b/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html new file mode 100644 index 0000000..3167eee --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html @@ -0,0 +1,76 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio/main.hcc Source File + + + +
Main Page | File List | Globals
+ +

main.hcc

00001 
+00020 /*
+00021  * Set the Clock rate for this domain. 50.0 Mhz is minimally required while
+00022  * performing audio tasks.
+00023  */
+00024 #define PAL_TARGET_CLOCK_RATE 50000000
+00025 
+00026 /******** System Includes *************/
+00027 #include <stdlib.hch>
+00028 
+00029 #include "pal_master.hch"
+00030 
+00031 /******** Application Includes ********/
+00032 #include "audiodriver.hch"
+00033 
+00034 
+00035 /*
+00036  * Request Clockrate. Approximated ClockRate is compiler assigned.
+00037  */
+00038 static macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
+00039 
+00040 
+00041 
+00050 void main(void) {
+00051         /* Setup Audio I/O Pointers */
+00052         macro expr AudioIn  = PalAudioInCT(0);
+00053         macro expr AudioOut = PalAudioOutCT(0);
+00054 
+00055         /*
+00056          * Check library versions and Request VideoOutput.
+00057          * We need at least Major Version 1 and minor version 2.
+00058          */
+00059         PalVersionRequire(1, 2);
+00060         PalAudioInRequire(1);
+00061         PalAudioOutRequire(1);
+00062 
+00063         /*
+00064          * Run The Following main tasks in parallel.
+00065          */
+00066         par {
+00067                 /*
+00068                  * Primary task is to 'Run' several hardware simultaniously.
+00069                  * Audio I/O needs to be in sync.
+00070                  */
+00071                 PalAudioInRun(AudioIn, ClockRate);
+00072                 PalAudioOutRun(AudioOut, ClockRate);
+00073                 
+00074                 /* Parallel to our Primary tasks we run the application. */
+00075                 seq {
+00076                         /* But first we need to enable and initialize the audio. */
+00077                         PalAudioInEnable(AudioIn);
+00078                         PalAudioOutEnable(AudioOut);
+00079                         audio_init(7, LINE_IN, SR_44100);
+00080                         par {
+00081                                 /*
+00082                                  * From here we run the main audio loop.
+00083                                  */
+00084                                 audio_main();
+00085                         }
+00086                 }
+00087         }
+00088 } /* --- main() --- */
+

Generated on Thu Nov 25 15:40:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/audio_8hcc-source.html b/Graphic_Equalizer/doc/html/audio_8hcc-source.html new file mode 100644 index 0000000..cd71b7f --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hcc-source.html @@ -0,0 +1,69 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc Source File + + + +
Main Page | File List | Globals
+ +

audio.hcc

Go to the documentation of this file.
00001 
+00019 /******** System Includes *************/
+00020 #include <stdlib.hch>
+00021 
+00022 #include "pal_master.hch"
+00023 
+00024 /******** Application Includes ********/
+00025 #include "configuration.hch"
+00026 #include "audio.hch"
+00027 
+00028 
+00029 
+00045 macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) {
+00046         /*
+00047          * We simply call the appropiate handlers and pass values along. We
+00048          * Don't set the mute on input gain. We have volume control to do this.
+00049          * Input and Output sampling rates are equal. We dont' need different
+00050          * rates.
+00051          */
+00052         RC200AudioInSetGain(FALSE, gain_level, gain_level);
+00053         RC200AudioInSetInput(input_source);
+00054         PalAudioInSetSampleRate(AUDIOIN, sample_rate);
+00055         PalAudioOutSetSampleRate(AUDIOOUT, sample_rate);
+00056 } /* --- audio_init() --- */
+00057 
+00058 
+00059 #if !USE_RUNFFT
+00060 
+00075 macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT) {
+00076         /*
+00077          * Determin the data width for the current platform.
+00078          */
+00079         macro expr IW = PalAudioInGetMaxDataWidthCT();
+00080         macro expr OW = PalAudioOutGetMaxDataWidthCT();
+00081 
+00082         signed IW sample_left_in, sample_right_in;
+00083         signed OW sample_left_out, sample_right_out;
+00084 
+00085         while (TRUE) {
+00086                 PalAudioInRead(AUDIOIN, &sample_left_in, &sample_right_in);
+00087 
+00088 /*              par {
+00089                         sample_add(sample_left_in);
+00090                         sample_get(&sample_left_out);
+00091                         sample_right_out = sample_right_in;
+00092                 }
+00093                 if (rotate_samples()) {
+00094                         / *
+00095                          * 64 Samples have been processed, calculate.
+00096                          * /
+00097                 }
+00098 */              PalAudioOutWrite(AUDIOOUT, (signed OW)(sample_left_in @ 0), (signed OW)(sample_right_in @ 0));
+00099         }
+00100 } /* --- audio_main() --- */
+00101 #endif
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/audio_8hcc.html b/Graphic_Equalizer/doc/html/audio_8hcc.html new file mode 100644 index 0000000..968943b --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hcc.html @@ -0,0 +1,190 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc File Reference + + + +
Main Page | File List | Globals
+ +

audio.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "configuration.hch"
+#include "audio.hch"
+ +

+Include dependency graph for audio.hcc:

Include dependency graph
+ + + + + +

+Go to the source code of this file. + + + + + + + + +

Functions

macro proc audio_init (gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)
 Set some inital values to the audio hardware.
macro proc audio_main (audiodata, AUDIOIN, AUDIOOUT)
 Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011:
+ Initial version +

+Definition in file audio.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
macro proc audio_init gain_level ,
input_source ,
sample_rate ,
AUDIOIN ,
AUDIOOUT 
+
+ + + + + +
+   + + +

+Set some inital values to the audio hardware. +

+

Parameters:
+ + + + +
gain_level Set the input amplifier to this amplification level.
input_source Choose between microphone input or linein input.
sample_rate Set the sample rate between 8000 and 48000
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 45 of file audio.hcc. +

+Referenced by main().

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
macro proc audio_main audiodata ,
AUDIOIN ,
AUDIOOUT 
+
+ + + + + +
+   + + +

+Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. +

+

Parameters:
+ + + + +
*audiodata pointer to audio information structure.
AUDIOIN Audio Input Handler
AUDIOOUT Audio Output Handler
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 75 of file audio.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.map b/Graphic_Equalizer/doc/html/audio_8hcc__incl.map new file mode 100644 index 0000000..94afea9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hcc__incl.map @@ -0,0 +1,3 @@ +base referer +rect $configuration_8hch.html 245,7 370,34 +rect $audio_8hch.html 394,7 474,34 diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 new file mode 100644 index 0000000..a948416 --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 @@ -0,0 +1 @@ +c40d88d881278afd1ef70a3d20ec91ee \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.png b/Graphic_Equalizer/doc/html/audio_8hcc__incl.png new file mode 100644 index 0000000..36bd511 Binary files /dev/null and b/Graphic_Equalizer/doc/html/audio_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/audio_8hch-source.html b/Graphic_Equalizer/doc/html/audio_8hch-source.html new file mode 100644 index 0000000..8e26033 --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hch-source.html @@ -0,0 +1,84 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch Source File + + + +
Main Page | File List | Globals
+ +

audio.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _AUDIO_HCH
+00020 #define _AUDIO_HCH 1
+00021 
+00022 /*
+00023  * Type definition of the shared memory to be used in various processes
+00024  */
+00025 typedef struct {
+00026         mpram {
+00027                 ram unsigned 7 write[256];      
+00028                 rom unsigned 7 read[256];
+00029         } fft_info with { block = "BlockRAM"};
+00030         mpram {
+00031                 ram unsigned 6 write[256];      
+00032                 rom unsigned 6 read[256];
+00033         } ifft_info with { block = "BlockRAM"};
+00034         unsigned 4 *equalizer_levels_ptr;
+00035         unsigned 1 display_log;
+00036 } audiodata_t;
+00037 
+00038 
+00039 
+00040 
+00041 /*
+00042  * States used to indicate wether audio data is sampled.
+00043  */
+00044 #define AUDIO_NOT_READY 0
+00045 #define AUDIO_READY     1
+00046 
+00047 
+00048 
+00049 /*
+00050  * Line in or Mic in aliases for audio_init.
+00051  */
+00052 #define LINE_IN RC200AudioInLineIn
+00053 #define MIC_IN  RC200AudioInMicrophone
+00054 
+00055 
+00056 
+00057 /*
+00058  * Sample Rate Aliases for audio_init.
+00059  */
+00060 #define SR_8000         RC200AudioSampleRate8000
+00061 #define SR_11025        RC200AudioSampleRate11025
+00062 #define SR_16000        RC200AudioSampleRate16000
+00063 #define SR_22050        RC200AudioSampleRate22050
+00064 #define SR_44100        RC200AudioSampleRate44100
+00065 #define SR_48000        RC200AudioSampleRate48000
+00066 
+00067 
+00068 
+00069 /*
+00070  * Initialize the Audio sub-system. gain_level sets the internal amplifier to
+00071  * passed level, input_source chooses between line in or mic in. The
+00072  * sample_rate is set to supplied rate. Defines for these are mentioned above.
+00073  */
+00074 macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT);
+00075 
+00076 
+00077 
+00078 /*
+00079  * Main audiodriver loop. This procedure never returns! It handles audio io and
+00080  * updates the shared memory. It needs Audio I/O handlers passed.
+00081  */
+00082 macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT);
+00083 
+00084 #else
+00085 #error "ERROR file audio.hch multiple times included"
+00086 #endif /* --- _AUDIO_HCH --- */
+00087 
+

Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/audio_8hch.html b/Graphic_Equalizer/doc/html/audio_8hch.html new file mode 100644 index 0000000..629afd7 --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hch.html @@ -0,0 +1,190 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch File Reference + + + +
Main Page | File List | Globals
+ +

audio.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + + + + + +

+Go to the source code of this file. + + + + + + + + +

Functions

macro proc audio_init (gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)
 Set some inital values to the audio hardware.
macro proc audio_main (audiodata, AUDIOIN, AUDIOOUT)
 Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041021
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041021: O.M. Schinagl
+ Initial version +

+Definition in file audio.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
macro proc audio_init gain_level ,
input_source ,
sample_rate ,
AUDIOIN ,
AUDIOOUT 
+
+ + + + + +
+   + + +

+Set some inital values to the audio hardware. +

+

Parameters:
+ + + + +
gain_level Set the input amplifier to this amplification level.
input_source Choose between microphone input or linein input.
sample_rate Set the sample rate between 8000 and 48000
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 45 of file audio.hcc. +

+Referenced by main().

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
macro proc audio_main audiodata ,
AUDIOIN ,
AUDIOOUT 
+
+ + + + + +
+   + + +

+Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. +

+

Parameters:
+ + + + +
*audiodata pointer to audio information structure.
AUDIOIN Audio Input Handler
AUDIOOUT Audio Output Handler
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 75 of file audio.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map new file mode 100644 index 0000000..13b9d0b --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map @@ -0,0 +1,7 @@ +base referer +rect $audio_8hcc.html 7,7 87,34 +rect $display_8hcc.html 111,7 199,34 +rect $eventhandler_8hcc.html 223,7 346,34 +rect $fft_8hcc.html 370,7 429,34 +rect $main_8hcc.html 453,7 527,34 +rect $smartmedia_8hcc.html 551,7 669,34 diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 new file mode 100644 index 0000000..b5bb099 --- /dev/null +++ b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 @@ -0,0 +1 @@ +47b49974e1875473dca8902c4d0a51aa \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png new file mode 100644 index 0000000..13e726a Binary files /dev/null and b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/configuration_8hch-source.html b/Graphic_Equalizer/doc/html/configuration_8hch-source.html new file mode 100644 index 0000000..511c82c --- /dev/null +++ b/Graphic_Equalizer/doc/html/configuration_8hch-source.html @@ -0,0 +1,113 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch Source File + + + +
Main Page | File List | Globals
+ +

configuration.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _CONFIGURATION_HCH
+00020 #define _CONFIGURATION_HCH 1
+00021 
+00022 /*
+00023  * To print debug information on the RS232 port set this define.
+00024  */
+00025 #define HAVE_DEBUG 1
+00026 
+00027 
+00028 
+00029 /*
+00030  * If we don't want to use the SmartMedia (and therefor fill the memory
+00031  * with simple static data) set this to 0. Otherwise 1 will load the smartmedia
+00032  * routines. To only load the mask and not the entire data set USE_MASK_ONLY to
+00033  * 1. 0 will load all bitmaps.
+00034  */
+00035 #define HAVE_SMARTMEDIA 0
+00036 #define USE_MASK_ONLY 0
+00037 #define SKIP_LOAD 1
+00038 
+00039 
+00040 
+00041 /*
+00042  * Here we set the various sizes of the data in use. Do not round this values
+00043  * in anyway! For example, 640 pixels times 480 pixels is 307200 (4b000) pixels
+00044  * total.
+00045  */
+00046 #define SIZE_SKIN       0x04afff
+00047 #define SIZE_HELP       0x04afff
+00048 #define SIZE_GRAPH      0x04afff
+00049 #define SIZE_SKINMASK   0x018fff
+00050 #define SIZE_HELPMASK   0x018fff
+00051 #define SIZE_GRAPHMASK  0x018fff
+00052 
+00053 #define SIZE_PRESET     0x0001c0
+00054 
+00055 
+00056 
+00057 /*
+00058  * Here we setup the start and end address for the various components.
+00059  */
+00060 #define ADDRESS_SKIN_START              0x000000
+00061 #define ADDRESS_SKIN_END                (ADDRESS_SKIN_START +SIZE_SKIN)
+00062 
+00063 #define ADDRESS_HELP_START              0x04b000
+00064 #define ADDRESS_HELP_END                (ADDRESS_HELP_START +SIZE_HELP)
+00065 
+00066 #define ADDRESS_GRAPHMASK_START         0x096000
+00067 #define ADDRESS_GRAPHMASK_END           (ADDRESS_GRAPHMASK_START +SIZE_GRAPH)
+00068 
+00069 #define ADDRESS_PRESET_DEMO_START       0x0e1000
+00070 #define ADDRESS_PRESET_DEMO_END         (ADDRESS_PRESET_DEMO_START +SIZE_PRESET)
+00071 #define ADDRESS_PRESET_RESET_START      0x0e11c0
+00072 #define ADDRESS_PRESET_RESET_END        (ADDRESS_PRESET_RESET_START +SIZE_PRESET)
+00073 
+00074 #define SMARTMEDIA_ADDRESS_SKIN_START           0x084000 /* Block:  33 */
+00075 #define SMARTMEDIA_ADDRESS_SKINMASK_START       0x168000 /* Block:  90 */
+00076 #define SMARTMEDIA_ADDRESS_HELP_START           0x1b4000 /* Block: 109 */
+00077 #define SMARTMEDIA_ADDRESS_HELPMASK_START       0x298000 /* Block: 166 */
+00078 #define SMARTMEDIA_ADDRESS_GRAPHMASK_START      0x2e4000 /* Block: 185 */
+00079 
+00080 #define SMARTMEDIA_ADDRESS_PRESET_DEMO_START    0x330000 /* Block: 204 */
+00081 #define SMARTMEDIA_ADDRESS_PRESET_RESET_START   0x340000 /* Block: 205 */
+00082 
+00083 #define SMARTMEDIA_ADDRESS_SKIN_END             (SMARTMEDIA_ADDRESS_SKIN_START +(SIZE_SKIN *3))
+00084 #define SMARTMEDIA_ADDRESS_SKINMASK_END         (SMARTMEDIA_ADDRESS_SKINMASK_START +(SIZE_SKINMASK *3))
+00085 #define SMARTMEDIA_ADDRESS_HELP_END             (SMARTMEDIA_ADDRESS_HELP_START +(SIZE_HELP *3))
+00086 #define SMARTMEDIA_ADDRESS_HELPMASK_END         (SMARTMEDIA_ADDRESS_HELPMASK_START +(SIZE_HELPMASK *3))
+00087 #define SMARTMEDIA_ADDRESS_GRAPHMASK_END        (SMARTMEDIA_ADDRESS_GRAPHMASK_START +(SIZE_GRAPHMASK *3))
+00088 
+00089 #define SMARTMEDIA_ADDRESS_PRESET_DEMO_END      (SMARTMEDIA_ADDRESS_PRESET_DEMO_START +(SIZE_PRESET))
+00090 #define SMARTMEDIA_ADDRESS_PRESET_RESET_END     (SMARTMEDIA_ADDRESS_PRESET_RESET_START +(SIZE_PRESET))
+00091 
+00092 
+00093 
+00094 /*
+00095  * FFT specific. TODO: Clean Up!
+00096  */
+00097 #define USE_RUNFFT      1
+00098 #define HARDWARE_MULTIPLY       1
+00099 #define NUMBER_OF_COLUMNS       8
+00100 #define NUMBER_OF_POINTS        (1<<NUMBER_OF_COLUMNS)
+00101 #define NUMBER_OF_FREQUENCIES   (NUMBER_OF_POINTS>>1)
+00102 #define PERFORM_FFT_CALCULATION 1
+00103 #define USE_UNSIGNED_AUDIO 0
+00104 #define PRINT_DEBUG 0
+00105 
+00106 #if HARDWARE_MULTIPLY
+00107 #define DC_COMPONENT            0
+00108 #else
+00109 #define DC_COMPONENT            8470527
+00110 #endif
+00111 
+00112 #else
+00113 #error "ERROR file configuration.hch multiple times included"
+00114 #endif /* --- _CONFIGURATION_HCH --- */
+00115 
+00116 
+

Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/configuration_8hch.html b/Graphic_Equalizer/doc/html/configuration_8hch.html new file mode 100644 index 0000000..abebe05 --- /dev/null +++ b/Graphic_Equalizer/doc/html/configuration_8hch.html @@ -0,0 +1,49 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch File Reference + + + +
Main Page | File List | Globals
+ +

configuration.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + + + + + + + + +

+Go to the source code of this file. + +
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041101
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041101: O.M. Schinagl
+ Initial version +

+Definition in file configuration.hch.


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map new file mode 100644 index 0000000..0c90433 --- /dev/null +++ b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map @@ -0,0 +1,10 @@ +base referer +rect $audio_8hcc.html 7,7 87,34 +rect $display_8hcc.html 111,7 199,34 +rect $eventhandler_8hcc.html 223,7 346,34 +rect $events_8hcc.html 370,7 455,34 +rect $fft_8hcc.html 479,7 538,34 +rect $main_8hcc.html 562,7 637,34 +rect $mouse_8hcc.html 661,7 746,34 +rect $runfft_8hcc.html 770,7 847,34 +rect $smartmedia_8hcc.html 871,7 989,34 diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 new file mode 100644 index 0000000..64cf2d9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 @@ -0,0 +1 @@ +0b1a3fcf1ab800e34bed7bf1922c4760 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png new file mode 100644 index 0000000..6581c6e Binary files /dev/null and b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/dir_000000.html b/Graphic_Equalizer/doc/html/dir_000000.html new file mode 100644 index 0000000..26f6e06 --- /dev/null +++ b/Graphic_Equalizer/doc/html/dir_000000.html @@ -0,0 +1,20 @@ + + +Graphic Equalizer: C:/ Directory Reference + + + +
Main Page | File List | Globals
+ +

C: Directory Reference

+ + + + +

Directories

directory Project Marcel & Oliver
+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/dir_000001.html b/Graphic_Equalizer/doc/html/dir_000001.html new file mode 100644 index 0000000..2c63d9f --- /dev/null +++ b/Graphic_Equalizer/doc/html/dir_000001.html @@ -0,0 +1,20 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/ Directory Reference + + + +
Main Page | File List | Globals
+ +

Project Marcel & Oliver Directory Reference

+ + + + +

Directories

directory Graphic_Equalizer
+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/dir_000002.html b/Graphic_Equalizer/doc/html/dir_000002.html new file mode 100644 index 0000000..630b013 --- /dev/null +++ b/Graphic_Equalizer/doc/html/dir_000002.html @@ -0,0 +1,22 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/ Directory Reference + + + +
Main Page | File List | Globals
+ +

Graphic_Equalizer Directory Reference

+ + + + + + +

Directories

directory include
directory src
+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/dir_000003.html b/Graphic_Equalizer/doc/html/dir_000003.html new file mode 100644 index 0000000..99cf285 --- /dev/null +++ b/Graphic_Equalizer/doc/html/dir_000003.html @@ -0,0 +1,44 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/ Directory Reference + + + +
Main Page | File List | Globals
+ +

include Directory Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Files

file  audio.hch
file  configuration.hch
file  display.hch
file  display_shared.hch
file  eventhandler.hch
file  eventhandler_shared.hch
file  events.hch
file  fft.hch
file  mouse.hch
file  mouse_shared.hch
file  runfft.hch
file  smartmedia.hch
file  weights_256.hch
+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/dir_000004.html b/Graphic_Equalizer/doc/html/dir_000004.html new file mode 100644 index 0000000..dbee196 --- /dev/null +++ b/Graphic_Equalizer/doc/html/dir_000004.html @@ -0,0 +1,36 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/ Directory Reference + + + +
Main Page | File List | Globals
+ +

src Directory Reference

+ + + + + + + + + + + + + + + + + + + + +

Files

file  audio.hcc
file  display.hcc
file  eventhandler.hcc
file  events.hcc
file  fft.hcc
file  main.hcc
file  mouse.hcc
file  runfft.hcc
file  smartmedia.hcc
+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display_8hcc-source.html b/Graphic_Equalizer/doc/html/display_8hcc-source.html new file mode 100644 index 0000000..e360065 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hcc-source.html @@ -0,0 +1,319 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc Source File + + + +
Main Page | File List | Globals
+ +

display.hcc

Go to the documentation of this file.
00001 
+00019 /*
+00020  * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.
+00021  */
+00022 #define PAL_TARGET_CLOCK_RATE 25175000
+00023 
+00024 /******** System Includes *************/
+00025 #include <stdlib.hch>
+00026 
+00027 #include "pal_master.hch"
+00028 
+00029 /******** Application Includes ********/
+00030 #include "configuration.hch"
+00031 #include "audio.hch"
+00032 #include "eventhandler_shared.hch"
+00033 #include "mouse_shared.hch"
+00034 #include "display_shared.hch"
+00035 #include "display.hch"
+00036 
+00037 #if HAVE_DEBUG
+00038         #include "debug.hch"
+00039 #endif
+00040 
+00041 
+00042 
+00043 /*
+00044  * Channel to notify others when new mousedata is available. If so
+00045  * Then mousedata struct is updated with shared data.
+00046  */
+00047 chan unsigned 1 maskupdate_notification;
+00048 
+00049 
+00050 
+00064 void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) {
+00065         /*
+00066          * Setup macro's RAM/Video handles and to coordinate pixel writing.
+00067          */
+00068         macro expr CLOCKRATE = PAL_ACTUAL_CLOCK_RATE;
+00069         macro expr VIDEOOUT = PalVideoOutOptimalCT(CLOCKRATE);
+00070         macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00071         macro expr DW = PalPL2RAMGetMaxDataWidthCT();
+00072         macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+00073         macro expr VISIBLEX = PalVideoOutGetVisibleX(VIDEOOUT, CLOCKRATE);
+00074         macro expr TOTALX = PalVideoOutGetTotalX(VIDEOOUT, CLOCKRATE);
+00075         macro expr TOTALY = PalVideoOutGetTotalY(VIDEOOUT);
+00076         macro expr SCANX = PalVideoOutGetX(VIDEOOUT);
+00077         macro expr SCANY = PalVideoOutGetY(VIDEOOUT);
+00078         
+00079         unsigned DW pixeldata;
+00080         unsigned 24 visual_graph_color;
+00081         unsigned AW address, address_offset;
+00082 
+00083 /*
+00084  * To draw something usefull when only drawing our mask, we simply draw the
+00085  * mask itself. Thus creating a blueish image to help identify all interesting
+00086  * area's on the screen. Otherwise we only use the last 24 bits, the RGB values
+00087  * to draw on the screen.
+00088  */
+00089 #if (USE_MASK_ONLY && HAVE_SMARTMEDIA)
+00090 #define PIXEL (0 @ pixeldata[31:24])
+00091 #else
+00092 #define PIXEL (pixeldata <- 24)
+00093 #endif
+00094 
+00095         /*
+00096          * If the passed button_state tells us the button is active, then we
+00097          * the button is 'on' and we draw it inverted. Otherwise we draw the
+00098          * area of the button normally.
+00099          */
+00100         macro proc draw_button(button_state) {
+00101                 if (button_state == pixeldata[31:24]) {
+00102                         PalVideoOutWrite(VIDEOOUT, ~PIXEL);
+00103                 } else {
+00104                         PalVideoOutWrite(VIDEOOUT, PIXEL);
+00105                 }
+00106         }
+00107 
+00108         /*
+00109          * Prime Rendering Pipeline to start where the skin starts.
+00110          */
+00111         PalPL2RAMSetReadAddress(RAM_BANK0, ADDRESS_SKIN_START);
+00112 
+00113         /*
+00114          * Run the following tasks indefinatly and in parallel
+00115          */
+00116         while (TRUE) {
+00117                 par {
+00118                         /*
+00119                          * Before starting this loop we allready set the the
+00120                          * address. Therefor we can start reading the
+00121                          * previously set address and prepare the next address
+00122                          * for the next cycle.
+00123                          */
+00124                         PalPL2RAMRead(RAM_BANK0, &pixeldata);
+00125                         PalPL2RAMSetReadAddress(RAM_BANK0, address_offset +address);
+00126 
+00127                         /*
+00128                          */
+00129                         switch (events->mode) {
+00130                                 case MODE_HELP:
+00131                                         address_offset = ADDRESS_HELP_START;
+00132                                         break;
+00133                                 case MODE_GRAPH:
+00134                                         address_offset = ADDRESS_GRAPHMASK_START;
+00135                                         break;
+00136                                 default:
+00137                                         address_offset = ADDRESS_SKIN_START;
+00138                                         break;
+00139                         }
+00140 
+00141                         if (MODE_GRAPH == events->mode) {
+00142                                 par {
+00143                                         visual_graph_color = ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << -1) @ ((unsigned 8)(0 @ audiodata->fft_info.read[pixeldata[31:24]]) << 0);
+00144                                         PalVideoOutWrite(VIDEOOUT, 0 @ visual_graph_color);
+00145                                 }
+00146                         } else {
+00147                                 /*
+00148                                  * Determin what to draw where here. Every case has an
+00149                                  * if else statement comparing wether to draw something
+00150                                  * special or the background. Every specific drawing
+00151                                  * obviously only happens in the masked area.
+00152                                  */
+00153                                 switch (pixeldata[31:24]) {
+00154                                         /*
+00155                                          */
+00156                                         case AREA_WAVEFORM:
+00157                                                 if (SCANY == 0 @ skindata->area_waveform_bottom -(0 @ (audiodata->ifft_info.read[((SCANX -(0 @ skindata->area_waveform_left)) <-8)]))) {
+00158                                                         PalVideoOutWrite(VIDEOOUT, skindata->color_area_waveform);
+00159                                                 } else {
+00160                                                         PalVideoOutWrite(VIDEOOUT, PIXEL);
+00161                                                 }
+00162                                                 break;
+00163 
+00164                                         /*
+00165                                          * Volume control over the Y-axis.
+00166                                          */
+00167                                         case AREA_VOLUME_YAXIS:
+00168                                                 /*
+00169                                                  * The volume_position stores the
+00170                                                  * highest point of our bar. Every
+00171                                                  * pixel after this point is drawn.
+00172                                                  */
+00173                                                 if (SCANY >= 0 @ events->volume_position) {
+00174                                                         PalVideoOutWrite(VIDEOOUT, skindata->color_area_volume);
+00175                                                 } else {
+00176                                                         PalVideoOutWrite(VIDEOOUT, PIXEL);
+00177                                                 }
+00178                                                 break;
+00179                                 
+00180                                         /*
+00181                                          * Spectrum Analyzer
+00182                                          */
+00183                                         case AREA_SPECTRUM_ANALYZER:
+00184                                                 /*
+00185                                                  * We draw every pixel that is smaller TODO
+00186                                                  */
+00187                                                 if ((SCANY >= (0 @ skindata->area_spectrum_bottom) -(0 @ audiodata->fft_info.read[(SCANX -(0 @ skindata->area_spectrum_left))[9:2]])) && ((SCANX -(0 @ skindata->area_spectrum_left)) <- 2)) {
+00188                                                         PalVideoOutWrite(VIDEOOUT, PIXEL_SPECTRUM);
+00189                                                 } else {
+00190                                                         PalVideoOutWrite(VIDEOOUT, PIXEL);
+00191                                                 }
+00192                                                 break;
+00193 
+00194                                         /*
+00195                                          * Since all buttons are drawn equally, either
+00196                                          * we draw them normally or we inverse them, we
+00197                                          * can handle them almost equally.
+00198                                          */
+00199                                         case BUTTON_PRESET_1:   /* fall through */
+00200                                         case BUTTON_PRESET_2:   /* fall through */
+00201                                         case BUTTON_PRESET_3:   /* fall through */
+00202                                         case BUTTON_PRESET_4:   /* fall through */
+00203                                         case BUTTON_PRESET_5:   /* fall through */
+00204                                         case BUTTON_PRESET_6:
+00205                                                 /*
+00206                                                  * The active preset tells us what
+00207                                                  * button is currently enabled. We must
+00208                                                  * however not forget to add the preset
+00209                                                  * button offset to possibly match it
+00210                                                  * with the current mask.
+00211                                                  */
+00212                                                 draw_button((events->active_preset +BUTTON_PRESET_1) <- 8);
+00213                                                 break;
+00214 
+00215                                         case BUTTON_CONVEX_FULL:        /* fall through */
+00216                                         case BUTTON_CONVEX_HALF:        /* fall through */
+00217                                         case BUTTON_PRECISE:            /* fall through */
+00218                                         case BUTTON_CONCAVE_HALF:       /* fall through */
+00219                                         case BUTTON_CONCAVE_FULL:
+00220                                                 /*
+00221                                                  * equalizer mode tells us what button
+00222                                                  * is currently enabled. By adding the
+00223                                                  * equalizer mode button offset we can
+00224                                                  * safley check wether it matches our
+00225                                                  * mask.
+00226                                                  */
+00227                                                 draw_button((0 @ events->equalizer_mode) +BUTTON_CONVEX_FULL);
+00228                                                 break;
+00229 
+00230                                         case BUTTON_LOG:
+00231                                                 /*
+00232                                                  * 
+00233                                                  */
+00234                                                 draw_button((0 @ audiodata->display_log) +BUTTON_LOG);
+00235                                                 break;
+00236 
+00237                                         /*
+00238                                          * The default case is split up into two parts
+00239                                          * actually. This is because we have 128 bands
+00240                                          * for the equalizer and thus as many mask
+00241                                          * entries. Since we don't want 128 identical
+00242                                          * cases we check wether the equalizer mask is
+00243                                          * currently active and if so draw it. If this
+00244                                          * is not the case we simply draw the
+00245                                          * background.
+00246                                          */
+00247                                         default:
+00248                                         /* (pixeldata[31:24] <= AREA_EQUALIZER_MAX) &&  */
+00249                                                 if (!events->locked_equalizer) {
+00250                                                         if ((AREA_EQUALIZER_MIN <= pixeldata[31:24]) && ((SCANY -(0 @ SCANY <- 1)) == 0 @ events->equalizer_display[(pixeldata[31:24] -AREA_EQUALIZER_MIN) <- 7])) {
+00251                                                                 PalVideoOutWrite(VIDEOOUT, skindata->color_equalizer);
+00252                                                         } else {
+00253                                                                 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00254                                                         }
+00255                                                 } else {
+00256                                                         PalVideoOutWrite(VIDEOOUT, PIXEL);
+00257                                                 }
+00258                                                 break;
+00259                                 }
+00260                         }
+00261 
+00262                         /*
+00263                          * We compare our current X and Y scan positions of the
+00264                          * output to the x and y data of the mouse. When those
+00265                          * are equal we set the current mask to the mask stored
+00266                          * in memory at that location. We then know what mask
+00267                          * is to be used for events.
+00268                          */
+00269                         if (MOUSE_UPDATED == mousedata->status) {
+00270                                 if ((SCANX == 0 @ mousedata->x) && (SCANY == 0 @ mousedata->y)) {
+00271                                         par {
+00272                                                 events->mask = pixeldata[31:24];
+00273                                                 mousedata->status = MOUSE_NOT_UPDATED;
+00274                                                 maskupdate_notification ! MOUSE_UPDATED;
+00275                                         }
+00276                                 } else {
+00277                                         delay;
+00278                                 }
+00279                         } else {
+00280                                 delay;
+00281                         }
+00282 
+00283                         /*
+00284                          * The current position of the screen can lay in an
+00285                          * area called the blanking area. We don't have data
+00286                          * for this area as it is not drawn. We therefor have
+00287                          * to determin wether we are beyond the visible area of
+00288                          * the screen, but before the end of the total width of
+00289                          * the screen. Our pipeline consists of 4 total stages.
+00290                          * Therefor we have to substract 4 pixels.
+00291                          */
+00292                         if ((SCANX > (VISIBLEX - 4)) && (SCANX <= (TOTALX - 4))) {
+00293                                 /*
+00294                                  * We are in the blanking area of the screen.
+00295                                  * If we are on the last line, and thus last
+00296                                  * pixel we reset our address counter.
+00297                                  */
+00298                                 if (SCANY == (TOTALY -1)) {
+00299                                         /*
+00300                                          * Reset our draw address counter to 0.
+00301                                          */
+00302                                         address = 0;
+00303                                 } else {
+00304                                         /*
+00305                                          * We should not ever get inhere. To
+00306                                          * keep everything consequent however,
+00307                                          * we add a delay.
+00308                                          */
+00309                                         delay;
+00310                                 }
+00311                         } else {
+00312                                 /*
+00313                                  * Increase the memory counter for each pixel
+00314                                  * drawn thus keeping the memory location in
+00315                                  * sync with the current pixel position.
+00316                                  */
+00317                                 address++;
+00318                         }
+00319                 }
+00320         }
+00321 } /* --- display_main() --- */
+00322 
+00323 
+00324 
+00337 void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels) {
+00338         unsigned 7 equalizer_band;
+00339 
+00340         events->locked_equalizer = TRUE;
+00341         delay;
+00342         do {
+00343                 events->equalizer_display[equalizer_band] = equalizer_table_inv[equalizer_levels[equalizer_band]];
+00344                 equalizer_band++;
+00345         } while (equalizer_band);
+00346         events->locked_equalizer = FALSE;
+00347 } /* --- reload_equalizer() --- */
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display_8hcc.html b/Graphic_Equalizer/doc/html/display_8hcc.html new file mode 100644 index 0000000..8b16663 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hcc.html @@ -0,0 +1,186 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc File Reference + + + +
Main Page | File List | Globals
+ +

display.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "configuration.hch"
+#include "audio.hch"
+#include "eventhandler_shared.hch"
+#include "mouse_shared.hch"
+#include "display_shared.hch"
+#include "display.hch"
+ +

+Include dependency graph for display.hcc:

Include dependency graph
+ + + + + + + + + +

+Go to the source code of this file. + + + + + + + + +

Functions

void display_main (skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
 This routine handles all drawing of pixels. It never returns!
void reload_equalizer (events_t *events, unsigned 4 *equalizer_levels)
 This function copies the supplied equalizer values to the array used for displaying equalizer data.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011: O.M. Schinagl
+ Initial version +

+Definition in file display.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void display_main skindata_t *  skindata,
audiodata_t *  audiodata,
events_t *  events,
mousedata_t *  mousedata
+
+ + + + + +
+   + + +

+This routine handles all drawing of pixels. It never returns! +

+

Parameters:
+ + + + + +
*skindata struct with all skin information.
*audiodata struct with (i)fft data to be drawn.
*events struct with all events.
*mousedata struct with coordinates to current. X en Y.
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 64 of file display.hcc. +

+Referenced by main().

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void reload_equalizer events_t *  events,
unsigned 4 *  equalizer_levels
+
+ + + + + +
+   + + +

+This function copies the supplied equalizer values to the array used for displaying equalizer data. +

+

Parameters:
+ + + +
*events events struct
*equalizer_levels pointer to 128 entries where equalizer is to be copied from.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 337 of file display.hcc. +

+Referenced by eventhandler_main().

+


Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.map b/Graphic_Equalizer/doc/html/display_8hcc__incl.map new file mode 100644 index 0000000..523ea9f --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hcc__incl.map @@ -0,0 +1,7 @@ +base referer +rect $configuration_8hch.html 245,7 370,34 +rect $audio_8hch.html 394,7 474,34 +rect $eventhandler__shared_8hch.html 498,7 672,34 +rect $mouse__shared_8hch.html 696,7 832,34 +rect $display__shared_8hch.html 856,7 992,34 +rect $display_8hch.html 1016,7 1104,34 diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 new file mode 100644 index 0000000..ab1fb04 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 @@ -0,0 +1 @@ +970c745e492752ae0dd4d12d70766e0f \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.png b/Graphic_Equalizer/doc/html/display_8hcc__incl.png new file mode 100644 index 0000000..d808b60 Binary files /dev/null and b/Graphic_Equalizer/doc/html/display_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/display_8hch-source.html b/Graphic_Equalizer/doc/html/display_8hch-source.html new file mode 100644 index 0000000..15aec07 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hch-source.html @@ -0,0 +1,48 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch Source File + + + +
Main Page | File List | Globals
+ +

display.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _DISPLAY_HCH
+00020 #define _DISPLAY_HCH 1
+00021 
+00022 
+00023 
+00024 /*
+00025  * Set the color for various items that will be drawn on screen.
+00026  */
+00027 #define PIXEL_VOLUME            (0x0000ff)
+00028 #define PIXEL_EQUALIZER         (0xff0000)
+00029 #define PIXEL_SPECTRUM          ((((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8) @ 0x00 @ (((skindata->area_spectrum_bottom -(SCANY <- 10)) <<1) <- 8))
+00030 #define PIXEL_WAVEFORM          (0x0000ff)
+00031 
+00032 
+00033 
+00034 /*
+00035  * Main display loop. This function never returns! It handles display output.
+00036  * It needs to respond to certain events set by the events pointer. Also it
+00037  * informs events what the current mask is. To optain the current mask we need
+00038  * the X and Y coordinates from our mousedata pointer.
+00039  */
+00040 void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
+00041 
+00042 
+00043 
+00044 /*
+00045  * reload equalizer bars into the display memory.
+00046  */
+00047 void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels, unsigned 10 preset_offset);
+00048 
+00049 #else
+00050 #error "ERROR file display.hch multiple times included"
+00051 #endif /* --- _DISPLAY_HCH --- */
+

Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display_8hch.html b/Graphic_Equalizer/doc/html/display_8hch.html new file mode 100644 index 0000000..8ec3362 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hch.html @@ -0,0 +1,118 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch File Reference + + + +
Main Page | File List | Globals
+ +

display.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + + + +

+Go to the source code of this file. + + + + + +

Functions

void display_main (skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
 This routine handles all drawing of pixels. It never returns!
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011:
+ Initial version +

+Definition in file display.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void display_main skindata_t *  skindata,
audiodata_t *  audiodata,
events_t *  events,
mousedata_t *  mousedata
+
+ + + + + +
+   + + +

+This routine handles all drawing of pixels. It never returns! +

+

Parameters:
+ + + + + +
*skindata struct with all skin information.
*audiodata struct with (i)fft data to be drawn.
*events struct with all events.
*mousedata struct with coordinates to current. X en Y.
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 64 of file display.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map new file mode 100644 index 0000000..30f5f5c --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map @@ -0,0 +1,5 @@ +base referer +rect $display_8hcc.html 8,7 96,34 +rect $eventhandler_8hcc.html 120,7 242,34 +rect $main_8hcc.html 266,7 341,34 +rect $smartmedia_8hcc.html 365,7 482,34 diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 new file mode 100644 index 0000000..4d52805 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 @@ -0,0 +1 @@ +fbc7c2d77330776f0959b271562e7250 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png new file mode 100644 index 0000000..f842760 Binary files /dev/null and b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch-source.html b/Graphic_Equalizer/doc/html/display__shared_8hch-source.html new file mode 100644 index 0000000..fcd672a --- /dev/null +++ b/Graphic_Equalizer/doc/html/display__shared_8hch-source.html @@ -0,0 +1,63 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch Source File + + + +
Main Page | File List | Globals
+ +

display_shared.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _DISPLAY_SHARED_HCH
+00020 #define _DISPLAY_SHARED_HCH 1
+00021 
+00022 
+00023 
+00024 typedef struct {
+00025         unsigned 10 area_spectrum_bottom, area_spectrum_top, area_spectrum_left, area_spectrum_right;
+00026         unsigned 10 area_waveform_bottom, area_waveform_top, area_waveform_left, area_waveform_right;
+00027         unsigned 10 area_volume_bottom, area_volume_top, area_volume_left, area_volume_right;
+00028         unsigned 24 color_area_volume, color_area_waveform, color_area_spectrum_top, color_area_spectrum_bottom, color_equalizer;
+00029 } skindata_t;
+00030 
+00031 
+00032 
+00033 /*
+00034  * Define all area's of the display.
+00035  */
+00036 #define AREA_WAVEFORM           0x01
+00037 #define AREA_VOLUME_YAXIS       0x02
+00038 #define AREA_SPECTRUM_ANALYZER  0x03
+00039 
+00040 #define BUTTON_LOG              0x04
+00041 #define BUTTON_DEMO             0x05
+00042 #define BUTTON_RESET            0x06
+00043 
+00044 #define BUTTON_PRESET_1         0x07
+00045 #define BUTTON_PRESET_2         0x08
+00046 #define BUTTON_PRESET_3         0x09
+00047 #define BUTTON_PRESET_4         0x0a
+00048 #define BUTTON_PRESET_5         0x0b
+00049 #define BUTTON_PRESET_6         0x0c
+00050 
+00051 #define BUTTON_CONVEX_FULL      0x0d /* / \ */
+00052 #define BUTTON_CONVEX_HALF      0x0e /* /\  */
+00053 #define BUTTON_PRECISE          0x0f /* |   */
+00054 #define BUTTON_CONCAVE_HALF     0x10 /* \/  */
+00055 #define BUTTON_CONCAVE_FULL     0x11 /* \ / */
+00056 
+00057 #define BUTTON_HELP             0x12
+00058 #define BUTTON_MODE             0x13
+00059 
+00060 #define AREA_EQUALIZER_MIN      0x80
+00061 #define AREA_EQUALIZER_MAX      0xff
+00062 
+00063 #else
+00064 #error "ERROR file display_shared.hch multiple times included"
+00065 #endif /* --- _DISPLAY_SHARED_HCH --- */
+00066 
+

Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch.html b/Graphic_Equalizer/doc/html/display__shared_8hch.html new file mode 100644 index 0000000..58b24c4 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display__shared_8hch.html @@ -0,0 +1,44 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch File Reference + + + +
Main Page | File List | Globals
+ +

display_shared.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + + + +

+Go to the source code of this file. + +
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011:
+ Initial version +

+Definition in file display_shared.hch.


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map new file mode 100644 index 0000000..30f5f5c --- /dev/null +++ b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map @@ -0,0 +1,5 @@ +base referer +rect $display_8hcc.html 8,7 96,34 +rect $eventhandler_8hcc.html 120,7 242,34 +rect $main_8hcc.html 266,7 341,34 +rect $smartmedia_8hcc.html 365,7 482,34 diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 new file mode 100644 index 0000000..2c831b5 --- /dev/null +++ b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 @@ -0,0 +1 @@ +6ad6e26d3432e59b7a161de855d0e8bc \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png new file mode 100644 index 0000000..7484dd7 Binary files /dev/null and b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/doxygen.css b/Graphic_Equalizer/doc/html/doxygen.css new file mode 100644 index 0000000..1d4d631 --- /dev/null +++ b/Graphic_Equalizer/doc/html/doxygen.css @@ -0,0 +1,271 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +H1 { + text-align: center; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #eeeeff; + border: 1px solid #b0b0b0; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: monospace +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 14px } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #eeeeff; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #eeeeff; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 12px; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 12px; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 12px; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 13px; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 12px; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 13px; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 12px; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #eeeeff; +} +TD.tiny { font-size: 75%; +} +a { + color: #252E78; +} +a:visited { + color: #3D2185; +} diff --git a/Graphic_Equalizer/doc/html/doxygen.png b/Graphic_Equalizer/doc/html/doxygen.png new file mode 100644 index 0000000..f0a274b Binary files /dev/null and b/Graphic_Equalizer/doc/html/doxygen.png differ diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html b/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html new file mode 100644 index 0000000..24170bf --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html @@ -0,0 +1,277 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc Source File + + + +
Main Page | File List | Globals
+ +

eventhandler.hcc

Go to the documentation of this file.
00001 
+00021 /******** System Includes *************/
+00022 #include <stdlib.hch>
+00023 
+00024 #include "pal_master.hch"
+00025 
+00026 /******** Application Includes ********/
+00027 #include "configuration.hch"
+00028 #include "audio.hch"
+00029 #include "mouse_shared.hch"
+00030 #include "eventhandler_shared.hch"
+00031 #include "eventhandler.hch"
+00032 #include "events.hch"
+00033 #include "display_shared.hch"
+00034 #include "display.hch"
+00035 
+00036 #if HAVE_DEBUG
+00037         #include "debug.hch"
+00038 #endif
+00039 
+00040 
+00041 
+00042 /*
+00043  */
+00044 extern chan unsigned 1 maskupdate_notification;
+00045 
+00046 
+00047 
+00048 static rom unsigned 3 equalizer_mode_table[5] = {EQUALIZERMODE_CONVEX_FULL, EQUALIZERMODE_CONVEX_HALF, EQUALIZERMODE_PRECISE, EQUALIZERMODE_CONCAVE_HALF, EQUALIZERMODE_CONCAVE_FULL};
+00049 
+00050 
+00051 
+00063 void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) {
+00064         mpram {
+00065                 ram unsigned 4 write[768];      
+00066                 rom unsigned 4 read[768];       
+00067         } equalizer_levels with { block = "BlockRAM"};
+00068 
+00069         unsigned 10 preset_offset;
+00070         unsigned 10 reference_point;
+00071         unsigned 5 volume_left;
+00072         unsigned 4 index_offset;
+00073         unsigned 1 newmaskupdate;
+00074 
+00075         /*
+00076          * Initialize our equalizer display pointers here, as they don't point
+00077          * anywhere otherwise.
+00078          */
+00079 
+00080         while (TRUE) {
+00081                 maskupdate_notification ? newmaskupdate;
+00082 
+00083                 /*
+00084                  * First we determine what mousestate we currently have. Then
+00085                  * we check where we are to decide what to do.
+00086                  */
+00087                 switch (mousedata->state) {
+00088                         case MOUSE_STATE_ON_PRESS:
+00089                                 /*
+00090                                  * If we are displaying the graphic visual,
+00091                                  * any press returns to the application.
+00092                                  */
+00093                                 if (MODE_GRAPH == events->mode) {
+00094                                         events->mode = MODE_SKIN;
+00095                                         events->mask = 0;
+00096                                 } else {
+00097                                         delay;
+00098                                 }
+00099 
+00100                                 /*
+00101                                  */
+00102                                 if (BUTTON_MODE == events->mask) {
+00103                                         if (MODE_GRAPH == events->mode) {
+00104                                                 events->mode = MODE_SKIN;
+00105                                         } else {
+00106                                                 events->mode = MODE_GRAPH;
+00107                                         }
+00108                                 } else {
+00109                                         delay;
+00110                                 }
+00111 
+00112                                 /*
+00113                                  * If the current mask equals the help button
+00114                                  * we set display mode to help.
+00115                                  */
+00116                                 if (BUTTON_HELP == events->mask) {
+00117                                         /*
+00118                                          * Change the mode to help if it's
+00119                                          * currently not set, otherwise go back
+00120                                          * to skin mode.
+00121                                          */
+00122                                         if (MODE_HELP == events->mode) {
+00123                                                 events->mode = MODE_SKIN;
+00124                                         } else {
+00125                                                 events->mode = MODE_HELP;
+00126                                                 print_string("going to help");print_eol();
+00127                                         }
+00128                                 } else {
+00129                                         delay;
+00130                                 }
+00131 
+00132                                 /*
+00133                                  * The Preset buttons span from 1 to 6 so if
+00134                                  * the mask one of those, we'll change the
+00135                                  * pointer to point to the current preset.
+00136                                  */
+00137                                 if ((BUTTON_PRESET_1 <= events->mask) && (events->mask <= BUTTON_PRESET_6)) {
+00138                                         /*
+00139                                          * The active preset is determined by
+00140                                          * the mask minus an offset. Hence
+00141                                          * ranging our active preset from 0 to
+00142                                          * 6.
+00143                                          */
+00144                                         events->active_preset = 0 @ (events->mask -BUTTON_PRESET_1);
+00145                                         /*
+00146                                          * Each equalizer is 128 bands wide,
+00147                                          * thus we need to add 128 * the preset
+00148                                          * for each different preset. This
+00149                                          * offset is calculated here.
+00150                                          */
+00151                                         preset_offset = events->active_preset << 7;
+00152                                         /*
+00153                                          * We set the pointer to the active
+00154                                          * part of the array by using the
+00155                                          * preset offset as our index. Hence
+00156                                          * depending on the selected preset
+00157                                          * we point to 0, 128, 256, 384, 512
+00158                                          * or 640.
+00159                                          */
+00160                                         audiodata->equalizer_levels_ptr = &equalizer_levels.read[preset_offset];
+00161                                         /*
+00162                                          * Finally update the equalizer bars
+00163                                          * that are drawn by the display.
+00164                                          */
+00165                                         reload_equalizer(events, equalizer_levels.write, preset_offset);
+00166                                 } else {
+00167                                         delay;
+00168                                 }
+00169 
+00170                                 if ((BUTTON_CONVEX_FULL <= events->mask) && (events->mask <= BUTTON_CONCAVE_FULL)) {
+00171                                         events->equalizer_mode = (events->mask -BUTTON_CONVEX_FULL) <- 3;
+00172                                 } else {
+00173                                         delay;
+00174                                 }
+00175 
+00176                                 /*
+00177                                  * If the demo button was pressed load the
+00178                                  * demo preset values into the presets.
+00179                                  */
+00180                                 if (BUTTON_DEMO == events->mask) {
+00181                                         load_preset(ADDRESS_PRESET_DEMO_START, &equalizer_levels.write[0]);
+00182                                         reload_equalizer(events, equalizer_levels.write, preset_offset);
+00183                                 }
+00184 
+00185                                 /*
+00186                                  * If the reset button was pressed load the
+00187                                  * reset values into the presets.
+00188                                  */
+00189                                 if (BUTTON_RESET == events->mask) {
+00190                                         load_preset(ADDRESS_PRESET_RESET_START, &equalizer_levels.write[0]);
+00191                                         reload_equalizer(events, equalizer_levels.write, preset_offset);
+00192                                 }
+00193 
+00194                                 /*
+00195                                  * If the current mask equals the log button,
+00196                                  * we flip the display_log bit.
+00197                                  */
+00198                                 if (BUTTON_LOG == events->mask) {
+00199                                         audiodata->display_log = !audiodata->display_log;
+00200                                 } else {
+00201                                         delay;
+00202                                 }
+00203 
+00204                                 break;
+00205 
+00206                         case MOUSE_STATE_DOWN:
+00207                                 /*
+00208                                  * If we are in the volume area we update the
+00209                                  * volume level for both channels.
+00210                                  */
+00211                                 if (AREA_VOLUME_YAXIS == events->mask) {
+00212                                         /*
+00213                                          * Copy the current Y cursor position
+00214                                          * to the events struct. This we then
+00215                                          * later use for drawing purposes.
+00216                                          */
+00217                                         events->volume_position = 0 @ mousedata->y;
+00218                                         /*
+00219                                          * Look the relative y-coordinate up in
+00220                                          * the volumecontrol lookup table. We
+00221                                          * make a local copy here because the
+00222                                          * RC200 call doesn't behave nicely
+00223                                          * when passing anything else.
+00224                                          */
+00225                                         volume_left = volumecontrol_table[((mousedata->y) -65) <- 6];
+00226                                         /*
+00227                                          * We feel that volume gets softer the
+00228                                          * closer it gets to the 0, and louder
+00229                                          * as it approaches 0x1f. The SetVolume
+00230                                          * RC200 call does this in an unnatural
+00231                                          * reverse way. Therefor we fix it.
+00232                                          */
+00233                                         RC200AudioOutSetVolume(!volume_left, 0x1f -volume_left, 0x1f -volume_left);
+00234                                 } else {
+00235                                         delay;
+00236                                 }
+00237 
+00238                                 if ((AREA_EQUALIZER_MIN <= events->mask) && (events->mask <= AREA_EQUALIZER_MAX)) {
+00239 
+00240                                         events->locked_equalizer = TRUE;
+00241                                         delay;
+00242                                         reference_point = events->equalizer_display[(events->mask -5 -AREA_EQUALIZER_MIN) <- 7];
+00243                                         
+00244                                         for (index_offset = 9; index_offset != 0; index_offset--) {
+00245                                                 unsigned 10 average_bar;
+00246                                                 unsigned 7 equalizer_index;
+00247                                                 unsigned 4 bar_index;                                           
+00248                                 
+00249                                                 if (index_offset == 5) {
+00250                                                         reference_point = events->equalizer_display[(events->mask +5 -AREA_EQUALIZER_MIN) <- 7];
+00251                                                 } else {
+00252                                                         delay;
+00253                                                 }
+00254 
+00255                                                 if (index_offset > 5) {
+00256                                                         bar_index = (index_offset -5);
+00257                                                 } else {
+00258                                                         bar_index = (5 -index_offset);
+00259                                                 }
+00260 
+00261                                                 if (reference_point > mousedata->y) {
+00262                                                         average_bar = mousedata->y -((reference_point -mousedata->y) >> (5 - bar_index));
+00263                                                 } else {
+00264                                                         average_bar = mousedata->y +((mousedata->y -reference_point) >> (5 - bar_index));
+00265                                                 }
+00266 
+00267                                                 equalizer_index = ((events->mask +5 -(0 @ index_offset) -AREA_EQUALIZER_MIN) <- 7);
+00268 
+00269                                                 events->equalizer_display[equalizer_index] = average_bar;
+00270                                                 equalizer_levels.write[preset_offset +(0 @ equalizer_index)] = equalizer_table[average_bar -382];
+00271                                         }
+00272 
+00273                                         events->locked_equalizer = FALSE;
+00274                                 } else {
+00275                                         delay;
+00276                                 }
+00277 
+00278                                 break;
+00279 
+00280                         default:
+00281                                 break;
+00282                 }
+00283         }
+00284 } /* --- eventhandler_main() --- */
+00285 
+00286 
+00287 
+00288 /*
+00289  * Volume Control lookuptable.
+00290  * TODO: This table is now hardcoded. To ensure full skinability this table
+00291  * should be dynamically loaded.
+00292  */
+00293 rom unsigned 5 volumecontrol_table[46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24,  24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0};
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc.html b/Graphic_Equalizer/doc/html/eventhandler_8hcc.html new file mode 100644 index 0000000..aa0729d --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc.html @@ -0,0 +1,131 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc File Reference + + + +
Main Page | File List | Globals
+ +

eventhandler.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "configuration.hch"
+#include "audio.hch"
+#include "mouse_shared.hch"
+#include "eventhandler_shared.hch"
+#include "eventhandler.hch"
+#include "events.hch"
+#include "display_shared.hch"
+#include "display.hch"
+ +

+Include dependency graph for eventhandler.hcc:

Include dependency graph
+ + + + + + + + + + + +

+Go to the source code of this file. + + + + +

Functions

void eventhandler_main (audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
+


Detailed Description

+

+Audiodriver API

+when the mousehandler registers a 'click' we coordinate the actions that follow that click.

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: O.M. Schinagl
+ Initial version +

+Definition in file eventhandler.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eventhandler_main audiodata_t *  audiodata,
events_t *  events,
mousedata_t *  mousedata
+
+ + + + + +
+   + + +

+

Parameters:
+ + + + +
*audiodata pointer to struct for setting equalizer levels.
*events pointer to struct with all events for display states.
*mousedata pointer to struct with mouse data for X and Y coordinates.
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 63 of file eventhandler.hcc. +

+References load_preset(), and reload_equalizer(). +

+Referenced by main().

+ +

+Here is the call graph for this function:

+ + + + +
Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map new file mode 100644 index 0000000..8e10f06 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map @@ -0,0 +1,9 @@ +base referer +rect $configuration_8hch.html 245,7 370,34 +rect $audio_8hch.html 394,7 474,34 +rect $mouse__shared_8hch.html 498,7 634,34 +rect $eventhandler__shared_8hch.html 658,7 832,34 +rect $eventhandler_8hch.html 856,7 981,34 +rect $events_8hch.html 1005,7 1090,34 +rect $display__shared_8hch.html 1114,7 1250,34 +rect $display_8hch.html 1274,7 1362,34 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 new file mode 100644 index 0000000..43b12ac --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 @@ -0,0 +1 @@ +e8a7f337e9a3e5ae2e720dcb8252ef7e \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png new file mode 100644 index 0000000..09c2a45 Binary files /dev/null and b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map new file mode 100644 index 0000000..e15c770 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map @@ -0,0 +1,3 @@ +base referer +rect $events_8hcc.html#a2 210,7 301,34 +rect $display_8hcc.html#a4 195,58 315,85 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 new file mode 100644 index 0000000..5572015 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 @@ -0,0 +1 @@ +4cc99ebc2d7ee85c7be875aa4524a42e \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png new file mode 100644 index 0000000..d07857b Binary files /dev/null and b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png differ diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html b/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html new file mode 100644 index 0000000..919fa29 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html @@ -0,0 +1,32 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch Source File + + + +
Main Page | File List | Globals
+ +

eventhandler.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _EVENTHANDLER_HCH
+00020 #define _EVENTHANDLER_HCH 1
+00021 
+00022 
+00023 
+00024 
+00025 /*
+00026  * This is the main eventhandler loop. We require pointers to the event struct
+00027  * to store actions to be performed and a mousedata pointer so that we know on
+00028  * what mousestate to respond. We never returns!
+00029  */
+00030 void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
+00031 
+00032 #else
+00033 #error "ERROR file eventhandler.hch multiple times included"
+00034 #endif /* --- _EVENTHANDLER_HCH --- */
+00035 
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch.html b/Graphic_Equalizer/doc/html/eventhandler_8hch.html new file mode 100644 index 0000000..6589138 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hch.html @@ -0,0 +1,115 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch File Reference + + + +
Main Page | File List | Globals
+ +

eventhandler.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + +

+Go to the source code of this file. + + + + +

Functions

void eventhandler_main (audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: O.M. Schinagl
+ Initial version +

+Definition in file eventhandler.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eventhandler_main audiodata_t *  audiodata,
events_t *  events,
mousedata_t *  mousedata
+
+ + + + + +
+   + + +

+

Parameters:
+ + + + +
*audiodata pointer to struct for setting equalizer levels.
*events pointer to struct with all events for display states.
*mousedata pointer to struct with mouse data for X and Y coordinates.
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 63 of file eventhandler.hcc. +

+References load_preset(), and reload_equalizer(). +

+Referenced by main().

+ +

+Here is the call graph for this function:

+ + + + +
Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map new file mode 100644 index 0000000..6d9ee70 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map @@ -0,0 +1,3 @@ +base referer +rect $eventhandler_8hcc.html 7,7 130,34 +rect $main_8hcc.html 154,7 229,34 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 new file mode 100644 index 0000000..af0fe6f --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 @@ -0,0 +1 @@ +53efdfb40707cc5eba57fe4915bbbf35 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png new file mode 100644 index 0000000..586b7d0 Binary files /dev/null and b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map new file mode 100644 index 0000000..e15c770 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map @@ -0,0 +1,3 @@ +base referer +rect $events_8hcc.html#a2 210,7 301,34 +rect $display_8hcc.html#a4 195,58 315,85 diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 new file mode 100644 index 0000000..5572015 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 @@ -0,0 +1 @@ +4cc99ebc2d7ee85c7be875aa4524a42e \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png new file mode 100644 index 0000000..d07857b Binary files /dev/null and b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png differ diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html new file mode 100644 index 0000000..f7b6e57 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html @@ -0,0 +1,71 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch Source File + + + +
Main Page | File List | Globals
+ +

eventhandler_shared.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _EVENTHANDLER_SHARED_HCH
+00020 #define _EVENTHANDLER_SHARED_HCH 1
+00021 
+00022 
+00023 
+00024 /*** Data Types **********************/
+00025 
+00026 /*
+00027  * Type definition of the shared memory to be used in various processes
+00028  */
+00029 typedef struct {
+00030         ram unsigned 10 equalizer_display[128];
+00031         unsigned 10 active_preset;
+00032         unsigned 10 volume_position;
+00033         unsigned 8 mask;
+00034         unsigned 4 mode;
+00035         unsigned 3 equalizer_mode;
+00036         unsigned 1 locked_equalizer;
+00037 } events_t;
+00038 
+00039 
+00040 #define MODE_SKIN       0x00
+00041 #define MODE_HELP       0x01
+00042 #define MODE_GRAPH      0x02
+00043 
+00044 
+00045 
+00046 #define EQUALIZERMODE_CONVEX_FULL       0x05
+00047 #define EQUALIZERMODE_CONVEX_HALF       0x03
+00048 #define EQUALIZERMODE_PRECISE           0x01
+00049 #define EQUALIZERMODE_CONCAVE_HALF      0x02
+00050 #define EQUALIZERMODE_CONCAVE_FULL      0x04
+00051 
+00052 
+00053 
+00054 /*
+00055  * Volume Control lookuptable.
+00056  * TODO: This table is now hardcoded. To ensure full skinability this table
+00057  * should be dynamically loaded.
+00058  */
+00059 extern unsigned 5 volumecontrol_table[46];
+00060 
+00061 /*
+00062  * Equalizer lookup tables.
+00063  * TODO: This table is now hardcoded. To ensure full skinability this table
+00064  * should be dynamically loaded.
+00065  */
+00066 extern unsigned 4 equalizer_table[640];
+00067 extern unsigned 10 equalizer_table_inv[16];
+00068 
+00069 
+00070 
+00071 #else
+00072 #error "ERROR file eventhandler_shared.hch multiple times included"
+00073 #endif /* --- _EVENTHANDLER_SHARED_HCH --- */
+00074 
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html new file mode 100644 index 0000000..fa53964 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html @@ -0,0 +1,45 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch File Reference + + + +
Main Page | File List | Globals
+ +

eventhandler_shared.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + + + + +

+Go to the source code of this file. + +
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: O.M. Schinagl
+ Initial version +

+Definition in file eventhandler_shared.hch.


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map new file mode 100644 index 0000000..e30c9f4 --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map @@ -0,0 +1,6 @@ +base referer +rect $display_8hcc.html 8,7 96,34 +rect $eventhandler_8hcc.html 120,7 242,34 +rect $events_8hcc.html 266,7 352,34 +rect $main_8hcc.html 376,7 450,34 +rect $smartmedia_8hcc.html 474,7 592,34 diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 new file mode 100644 index 0000000..5231ffe --- /dev/null +++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 @@ -0,0 +1 @@ +27ad7843295f3466cc8c70cc8c0de797 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png new file mode 100644 index 0000000..838ca25 Binary files /dev/null and b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/events_8hcc-source.html b/Graphic_Equalizer/doc/html/events_8hcc-source.html new file mode 100644 index 0000000..2b40607 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hcc-source.html @@ -0,0 +1,74 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc Source File + + + +
Main Page | File List | Globals
+ +

events.hcc

Go to the documentation of this file.
00001 
+00022 /******** System Includes *************/
+00023 #include <stdlib.hch>
+00024 
+00025 #include "pal_master.hch"
+00026 
+00027 /******** Application Includes ********/
+00028 #include "configuration.hch"
+00029 #include "eventhandler_shared.hch"
+00030 #include "events.hch"
+00031 
+00032 #if HAVE_DEBUG
+00033         #include "debug.hch"
+00034 #endif
+00035 
+00036 
+00049 void load_preset(unsigned 20 preset_address, unsigned 4 *equalizer_levels) {
+00050         macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00051         macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+00052         macro expr DW = PalPL2RAMGetMaxDataWidthCT();
+00053 
+00054         unsigned DW data;
+00055         unsigned AW address;
+00056         unsigned 10 equalizer_index;
+00057 
+00058         address = preset_address;
+00059         /*
+00060          * PL2Ram needs a clockclycle between the set of an address and read.
+00061          * Therefore we set it once here.
+00062          */
+00063         PalPL2RAMSetReadAddress(RAM_BANK0, address);
+00064 
+00065         /*
+00066          *
+00067          */
+00068         for (equalizer_index = 0; equalizer_index != 768; equalizer_index += 2) {
+00069                 /*
+00070                  * We've allready set the address hence we can allready
+00071                  * increase it for next use.
+00072                  */
+00073                 address++;
+00074 
+00075                 PalPL2RAMRead(RAM_BANK0, &data);
+00076 #if HAVE_DEBUG
+00077                 print_hex_value(0 @ data[3:0]);print_string(" ");print_hex_value(0 @ data[7:4]);print_eol();
+00078 #endif
+00079                 equalizer_levels[equalizer_index] = data[3:0];
+00080                 equalizer_levels[equalizer_index +1] = data[7:4];
+00081         }
+00082 } /* --- load_preset() --- */
+00083 
+00084 
+00085 
+00086 /*
+00087  * Equalizer lookuptabes.
+00088  * TODO: This table is now hardcoded. To ensure full skinability this table
+00089  * should be dynamically loaded.
+00090  */
+00091 ram unsigned 4 equalizer_table[640] = {15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0};
+00092 ram unsigned 10 equalizer_table_inv[16] = {446, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 384};
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/events_8hcc.html b/Graphic_Equalizer/doc/html/events_8hcc.html new file mode 100644 index 0000000..a551e99 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hcc.html @@ -0,0 +1,108 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc File Reference + + + +
Main Page | File List | Globals
+ +

events.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "configuration.hch"
+#include "eventhandler_shared.hch"
+#include "events.hch"
+ +

+Include dependency graph for events.hcc:

Include dependency graph
+ + + + + + +

+Go to the source code of this file. + + + + + +

Functions

void load_preset (unsigned 20 preset_address, unsigned 4 *equalizer_levels)
 This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels.
+


Detailed Description

+

+Audiodriver API

+that need to be performed.

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041710
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041710: O.M. Schinagl
+ Initial version +

+Definition in file events.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void load_preset unsigned 20  preset_address,
unsigned 4 *  equalizer_levels
+
+ + + + + +
+   + + +

+This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. +

+

Parameters:
+ + + +
preset_address PL2Ram address where preset to be loaded is.
*equalizer_levels Location where to store presets loaded from ram.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 49 of file events.hcc. +

+Referenced by eventhandler_main().

+


Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.map b/Graphic_Equalizer/doc/html/events_8hcc__incl.map new file mode 100644 index 0000000..40eb374 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hcc__incl.map @@ -0,0 +1,4 @@ +base referer +rect $configuration_8hch.html 245,7 370,34 +rect $eventhandler__shared_8hch.html 394,7 567,34 +rect $events_8hch.html 591,7 677,34 diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 new file mode 100644 index 0000000..e5760e1 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 @@ -0,0 +1 @@ +6504988e199f039ead53f7a591708e99 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.png b/Graphic_Equalizer/doc/html/events_8hcc__incl.png new file mode 100644 index 0000000..1660014 Binary files /dev/null and b/Graphic_Equalizer/doc/html/events_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/events_8hch-source.html b/Graphic_Equalizer/doc/html/events_8hch-source.html new file mode 100644 index 0000000..c08b5c9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hch-source.html @@ -0,0 +1,29 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch Source File + + + +
Main Page | File List | Globals
+ +

events.hch

Go to the documentation of this file.
00001 
+00020 #ifndef _EVENTS_HCH
+00021 #define _EVENTS_HCH 1
+00022 
+00023 
+00024 
+00025 /*
+00026  * This function loads 768 4bits presets into the equalizer_levels array
+00027  * pointed to by equalizer_levels.
+00028  */
+00029 void load_preset(unsigned 20 preset_address, unsigned 4 *equalizer_levels);
+00030 
+00031 #else
+00032 #error "ERROR file events.hch multiple times included"
+00033 #endif /* --- _EVENTS_HCH --- */
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/events_8hch.html b/Graphic_Equalizer/doc/html/events_8hch.html new file mode 100644 index 0000000..7545623 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hch.html @@ -0,0 +1,102 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch File Reference + + + +
Main Page | File List | Globals
+ +

events.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + +

+Go to the source code of this file. + + + + + +

Functions

void load_preset (unsigned 20 preset_address, unsigned 4 *equalizer_levels)
 This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels.
+


Detailed Description

+

+Audiodriver API

+that need to be performed.

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041710
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041710: O.M. Schinagl
+ Initial version +

+Definition in file events.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void load_preset unsigned 20  preset_address,
unsigned 4 *  equalizer_levels
+
+ + + + + +
+   + + +

+This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. +

+

Parameters:
+ + + +
preset_address PL2Ram address where preset to be loaded is.
*equalizer_levels Location where to store presets loaded from ram.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 49 of file events.hcc. +

+Referenced by eventhandler_main().

+


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map new file mode 100644 index 0000000..e1a4795 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map @@ -0,0 +1,3 @@ +base referer +rect $eventhandler_8hcc.html 8,7 130,34 +rect $events_8hcc.html 154,7 240,34 diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 new file mode 100644 index 0000000..db0e635 --- /dev/null +++ b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 @@ -0,0 +1 @@ +9de3b703aa96c0fd466e7058f82e3b76 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png new file mode 100644 index 0000000..7b9cfa7 Binary files /dev/null and b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/fft_8hcc-source.html b/Graphic_Equalizer/doc/html/fft_8hcc-source.html new file mode 100644 index 0000000..64569fd --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc-source.html @@ -0,0 +1,436 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc Source File + + + +
Main Page | File List | Globals
+ +

fft.hcc

Go to the documentation of this file.
00001 
+00020 #include <stdlib.hch>
+00021 #include "pal_master.hch"
+00022 
+00023 #include "audio.hch"
+00024 #include "weights_256.hch"
+00025 #include "configuration.hch"
+00026 #include "debug.hch"
+00027 #include "xilinxmult.hch"
+00028 
+00029 /* Define two multi-port RAMs for FFT calculation; one for real and one for imaginary values
+00030  * Extra block RAM settings are defined to make sure read and write actions can be performed
+00031  * within one clock-cycle.
+00032  * Left out extra settings on new board the clock changes TODO !!!!
+00033  */
+00034 #if HARDWARE_MULTIPLY
+00035 mpram
+00036 {
+00037   ram signed 18 rwrite[256];
+00038   rom signed 18 read[256];
+00039 } real with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
+00040 
+00041 mpram 
+00042 {
+00043   ram signed 18 rwrite[256];
+00044   rom signed 18 read[256];
+00045 } imaginary with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
+00046 #else
+00047 mpram
+00048 {
+00049   ram signed 24 rwrite[256];
+00050   rom signed 24 read[256];
+00051 } real with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
+00052 
+00053 mpram 
+00054 {
+00055   ram signed 24 rwrite[256];
+00056   rom signed 24 read[256];
+00057 } imaginary with {block = "BlockRAM"/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/};
+00058 #endif
+00059 // multiplication factors for equalizer function
+00060 ram signed 7 eq_settings[16] = {0,2,4,7,10,13,16,19,22,26,30,35,41,48,55,63};
+00061 
+00062 
+00073 macro proc multiply(result, op_a, op_b)
+00074 {
+00075 #if HARDWARE_MULTIPLY
+00076         xilinxmult(result, op_a, adjs(op_b,18));
+00077 #else
+00078         result = (adjs(op_a,38))*(adjs(op_a,38));
+00079 #endif  
+00080 }
+00081 
+00082 
+00083 
+00084 
+00095 void calculate_fft(unsigned 1 select_inverse)
+00096 {
+00097   unsigned 4 level;
+00098   unsigned 8 point1,point2,j,f,k;
+00099   unsigned 9 e,i;
+00100   signed 16 weight1,weight2;
+00101 #if HARDWARE_MULTIPLY
+00102   signed 18 p,q,r,t;
+00103 #else
+00104   signed 24 p,q,r,t;    
+00105 #endif
+00106   signed a,b;
+00107 
+00108 #if HARDWARE_MULTIPLY
+00109   // Macro to provide rescaling of 36-bit result of fixed point multiply
+00110   // down to an 18-bit result. The range of bits selected depends on the 
+00111   // number that represents the value of "1" in the trig function lookup
+00112   // tables. (Eg. for 16384 == 1, the lowest bit selected should be [14]).
+00113   macro expr rescale (x) = (x[35] @ x[30:14]);
+00114 #else
+00115   //Macro to rescale the multiply result down to a 24-bit value.
+00116   macro expr rescale (x) = ((x>>FRACBITS)<-24);
+00117 #endif
+00118 
+00119   for(level=1;level<=NUMBER_OF_COLUMNS;level++) // count all the columns
+00120   {
+00121         e=1<<(NUMBER_OF_COLUMNS-level+1); // number of points in each block in this column
+00122         f=(e>>1)<-8;                      // number of butterflies in each block in this column
+00123 
+00124         for(j=1;j<=f;j++)       // count all the butterflies in each block
+00125         {
+00126                 par
+00127                 {
+00128                         // Weight factors for real (the same for FFT and iFFT)
+00129                         weight1 = weight_re[((j-1)<<(level-1))<-7]; 
+00130 
+00131                         
+00132                         // Weight factors for imaginary (opposite for FFT and iFFT)
+00133                         weight2 = (!select_inverse) ? (weight_im[((j-1)<<(level-1))<-7]) : -(weight_im[((j-1)<<(level-1))<-7]); 
+00134 
+00135                         /* ORIGINAL CODE BELOW, MODIFIED BECAUSE OF MISMATCHING OUTPUT WITH BORLAND TESTAPP
+00136                         weight2 = (!select_inverse) ? -(weight_im[((j-1)<<(level-1))<-7]) : weight_im[((j-1)<<(level-1))<-7]; 
+00137                         */
+00138                         
+00139                         
+00140 
+00141                         for(i=0@j;i<=NUMBER_OF_POINTS;i+=e)   // count all the blocks in this column
+00142                         {       // Butterfly calculation
+00143                                 par
+00144                                 {
+00145                                         point1 = ((i<-8)-1);
+00146                                         point2 = (((i<-8)+f)-1);
+00147                                 }
+00148                                 
+00149                                 par
+00150                                 {
+00151                                         p = (real.read[point1] >> 1) + (real.rwrite[point2] >> 1);
+00152                                         q = (imaginary.read[point1] >> 1) + (imaginary.rwrite[point2] >> 1);
+00153                                 }
+00154                                 
+00155                                 par
+00156                                 {
+00157                                         r = (real.read[point1] >> 1) - (real.rwrite[point2] >> 1);
+00158                                         t = (imaginary.read[point1] >> 1) - (imaginary.rwrite[point2] >> 1);
+00159                                 }               
+00160 
+00161                                 multiply(a,r,weight1);
+00162                                 multiply(b,t,weight2);
+00163 
+00164                                 par
+00165                                 {
+00166                                         real.rwrite[point2] = (rescale(a-b));
+00167                                         imaginary.rwrite[point1] = q;
+00168                                 }
+00169 
+00170                                 multiply(a,t,weight1);
+00171                                 multiply(b,r,weight2);
+00172 
+00173                                 par
+00174                                 {       
+00175                                         real.rwrite[point1] = p;
+00176                                         imaginary.rwrite[point2] = (rescale(a+b));
+00177                                 }
+00178 
+00179                         }
+00180                 }
+00181         }
+00182   }
+00183 
+00184   j=1;
+00185   for(i=1;i<NUMBER_OF_POINTS;i++)
+00186   {
+00187         if(i<(0@j))
+00188         {
+00189                 par
+00190                 {
+00191                         point1=j-1;
+00192                         point2=(i-1)<-8;
+00193                 }
+00194                 /*
+00195                   COPYING ARRAY VALUES FROM ONE PLACE TO ANOTHER IN THE ARRAT MUST BE DONE IN 
+00196                   2 STEPS. FIRSTLY THE VALUES ARE COPIED TO SEPARATE VARIABLES AFTER THAT THEY
+00197                   ARE COPIED BACK TO THEIR NEW POSITION IN THE ARRAY. THIS MUST BE DONE TO 
+00198                   PREVENT TIMING ISSUES FROM OCCURING.
+00199                 */
+00200                 par
+00201                 {
+00202                         p = real.read[point1];
+00203                         q = imaginary.read[point1];
+00204                 }
+00205                 par
+00206                 {
+00207                         r = real.read[point2];
+00208                         t = imaginary.read[point2];
+00209                 }
+00210                 par
+00211                 {
+00212                         real.rwrite[point1] = r;        
+00213                         imaginary.rwrite[point1] = t;
+00214                 }
+00215                 par
+00216                 {
+00217                         real.rwrite[point2] = p;
+00218                         imaginary.rwrite[point2] = q;
+00219                 }
+00220         }
+00221 
+00222         k = NUMBER_OF_POINTS>>1;
+00223 
+00224 
+00225         while(k<j)
+00226         {
+00227                 j = j-k;
+00228                 k = k>>1;
+00229         }
+00230 
+00231         j+=k;
+00232   }
+00233 
+00234 }
+00235 
+00247 #if HARDWARE_MULTIPLY
+00248 void perform_fft(signed 18 *pcm_audio)
+00249 #else
+00250 void perform_fft(signed 16 *pcm_audio)
+00251 #endif
+00252 {
+00253         unsigned 8 k;
+00254 #if HARDWARE_MULTIPLY
+00255         signed 18 sample;
+00256         k=0;
+00257         sample = adjs(pcm_audio[k],18);
+00258 #else
+00259         signed 24 sample;
+00260         k=0;
+00261         sample = adjs(pcm_audio[k],24);
+00262 #endif
+00263         
+00264         //initialize variables for the copying pipeline
+00265 
+00266         
+00267         // copy audio data to real-array before starting FFT calculation
+00268         // and set imaginary values to zero
+00269         do
+00270         {
+00271                 //Copying the array values has been pipelined to prevent parallel access to the
+00272                 //pcm_audio array. This copying procedure must be finished before another 
+00273                 //sample is read from the audio input. The time available for this loop is 
+00274                 //determined by the sampling rate of 44,1 Khz
+00275                 par
+00276                 {
+00277                         //COPYING NEEDS TO BE DONE IN 2 STEPS, BECAUSE THE VALUE THAT NEEDS TO WRITTEN
+00278                         //TO THE REAL-RAM NEEDS TO BE AVAILABLE ON THE START OFF THE CLOCKCYCLE.
+00279 #if HARDWARE_MULTIPLY
+00280                         sample = adjs(pcm_audio[k+1],18);
+00281 #else
+00282                         sample = adjs(pcm_audio[k+1],24);
+00283 #endif
+00284                         real.rwrite[k] = sample;
+00285                         imaginary.rwrite[k] = 0;
+00286                         k++;
+00287                 }               
+00288         }  while (k);
+00289 
+00290         
+00291 
+00292 #if PERFORM_FFT_CALCULATION
+00293         calculate_fft(0);
+00294 #endif
+00295 
+00296 
+00297 }
+00298 
+00312 #if HARDWARE_MULTIPLY
+00313 void perform_ifft(signed 18 *modified_audio, unsigned 6 *ifft_info)
+00314 #else
+00315 void perform_ifft(signed 16 *modified_audio, unsigned 6 *ifft_info)
+00316 #endif
+00317 {
+00318         unsigned 6 k;
+00319 #if HARDWARE_MULTIPLY 
+00320         signed 18 p;
+00321 #else
+00322         signed 24 p;
+00323 #endif
+00324 #if PERFORM_FFT_CALCULATION     
+00325         calculate_fft(1);
+00326 #endif
+00327 
+00328         k=0;
+00329 //initialize variables for the copying pipeline
+00330 #if PERFORM_FFT_CALCULATION     
+00331         #if HARDWARE_MULTIPLY 
+00332                 p = (real.read[(0@k)+95] << NUMBER_OF_COLUMNS);
+00333         #else
+00334                 p = (real.read[(0@k)+95] >> NUMBER_OF_COLUMNS);
+00335         #endif
+00336 #else
+00337                 p = (real.read[(0@k)+95]);
+00338 #endif
+00339 
+00340         do
+00341         {
+00342                 //Copying the array values has been pipelined to prevent parallel access to the
+00343                 //pcm_audio array. This copying procedure must be finished before another 
+00344                 //sample is read from the audio input. The time available for this loop is 
+00345                 //determined by the sampling rate of 44,1 Khz
+00346                 par
+00347                 {
+00348                         /*
+00349                         *       Before copying the modified audio from the local real-array 
+00350                         *       to the output array of the audio I/O component, compensate
+00351                         *       for the FFT calculation by shifting the values. 
+00352                         *       95 is added to start the output from the middle of the sliding
+00353                         *       window, this is done to get a better sound quality.
+00354                         */
+00355 #if PERFORM_FFT_CALCULATION     
+00356         #if HARDWARE_MULTIPLY 
+00357                         p = (real.read[(0@k)+95] << NUMBER_OF_COLUMNS);
+00358         #else
+00359                         p = (real.read[(0@k)+95] >> NUMBER_OF_COLUMNS);
+00360         #endif
+00361 #else
+00362                         p = (real.read[(0@k)+95]);
+00363 #endif
+00364                         //Copy the modified audio from the local real array to the output array of the audio I/O component.
+00365 #if HARDWARE_MULTIPLY
+00366                         modified_audio[k] = p ;
+00367 #else
+00368                         modified_audio[k] = (p<-16);
+00369 #endif
+00370                         //Fill the array for displaying the waveform, only the 6 MSB are needed.
+00371                         ifft_info[k] = (unsigned 6)(32+(p[17:12]));             
+00372                         k++;
+00373                 }
+00374         } while(k);
+00375 }
+00376 
+00389 void equalize_audio(audiodata_t *audiodata)
+00390 {
+00391 #if HARDWARE_MULTIPLY
+00392   signed 18 p,q;
+00393 #else
+00394   signed 24 p,q;
+00395 #endif
+00396   signed 18 a;
+00397   unsigned 8 i, mirror_i, bit, m, n;
+00398   unsigned 7 old_value;
+00399   unsigned 9 tmp;
+00400   
+00401   //macro expr equalize_bar = multiply(q,a)[29:6];
+00402   
+00403   macro proc equalize_bar(retval)
+00404   {
+00405          signed result;
+00406          multiply(result, q,a);
+00407 #if HARDWARE_MULTIPLY
+00408          retval = result[23:6]; //drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array
+00409 #else
+00410          retval = result[29:6]; //drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array
+00411 #endif
+00412   } 
+00413 
+00414   p = real.read[0] - DC_COMPONENT; // remove DC component for calculations
+00415   real.rwrite[0] = p;
+00416   
+00417   for(i=0;i!=NUMBER_OF_FREQUENCIES;i++)   
+00418   {  
+00419         
+00420                 // set multiplication factor (0..64) for current frequency bar, The first frequency band must be equalized at 100% (63) since there is no DC-component taken into account.
+00421                 a = adjs(eq_settings[audiodata->equalizer_levels_ptr[i <- 7]],18);
+00422 
+00423 
+00424                 // multiply frequency with this factor and divide by 64 (drop 6 LSB's)
+00425                 q = real.read[i];
+00426         equalize_bar(p);
+00427         real.rwrite[i] = p;
+00428 
+00429         q = imaginary.read[i];
+00430         equalize_bar(p);
+00431         imaginary.rwrite[i] = p;
+00432 
+00433         // the upper part(128..255) of the spectrum is mirrored to the lower part; 
+00434         // these values need to be adjusted too
+00435         if ((i<-7)!=0) // if not in DC component bar
+00436         {
+00437                 mirror_i = (NUMBER_OF_POINTS-1)-i+1;
+00438                 q = real.read[mirror_i];
+00439                 equalize_bar(p);
+00440                 real.rwrite[mirror_i] = p;
+00441 
+00442                 q = imaginary.read[mirror_i];
+00443                 equalize_bar(p);
+00444                 imaginary.rwrite[mirror_i] = p;
+00445         }
+00446   }
+00447   
+00448   //write data to fft_info for display purposes
+00449   for(i=0;i<NUMBER_OF_FREQUENCIES;i++)
+00450   {
+00451                 p = real.read[i];
+00452                 q = imaginary.read[i];
+00453 #if HARDWARE_MULTIPLY
+00454                 if (p[17] == 1) p = -p; else delay;
+00455                 if (q[17] == 1) q = -q; else delay;
+00456 #else
+00457                 if (p[23] == 1) p = -p; else delay;
+00458                 if (q[23] == 1) q = -q; else delay;
+00459 #endif
+00460         p = (p<q) ? q : p; // This is done to get the best visual frequency result
+00461          
+00462         if (!audiodata->display_log)
+00463         {
+00464 
+00465                 bit=126;
+00466 #if HARDWARE_MULTIPLY
+00467                 while ((p[15] == 0) && (bit != 0))
+00468 #else
+00469                 while ((p[21] == 0) && (bit != 0))
+00470 #endif
+00471                         par
+00472                         {
+00473                                 p = p<<1;
+00474                                 bit = bit - 18;
+00475                         }
+00476                 old_value = audiodata->fft_info.write[0 @ (i <- 7)];
+00477                 tmp = ((0@old_value) + (0@bit))>>1;
+00478                 audiodata->fft_info.write[0 @ (i <- 7)] = (old_value <= (tmp<-7)) ? (tmp<-7) : old_value-1;
+00479         } 
+00480         else 
+00481         {
+00482                 old_value = audiodata->fft_info.write[0 @ (i <- 7)];
+00483 #if HARDWARE_MULTIPLY
+00484                 audiodata->fft_info.write[0 @ (i <- 7)] = (old_value<=(unsigned)(p[15:9])) ? (unsigned)(p[15:9]) : old_value-1;
+00485 #else
+00486                 audiodata->fft_info.write[0 @ (i <- 7)] = (old_value<=(unsigned)(p[21:15])) ? (unsigned)(p[21:15]) : old_value-1;
+00487 #endif
+00488         }
+00489   }
+00490 
+00491   // add DC component again before inverse FFT calculation is performed
+00492 
+00493   p = real.read[0] + DC_COMPONENT; 
+00494   real.rwrite[0] = p;
+00495 }
+00496 
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/fft_8hcc.html b/Graphic_Equalizer/doc/html/fft_8hcc.html new file mode 100644 index 0000000..d46b6b5 --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc.html @@ -0,0 +1,225 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc File Reference + + + +
Main Page | File List | Globals
+ +

fft.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "audio.hch"
+#include "weights_256.hch"
+#include "configuration.hch"
+#include "debug.hch"
+#include "xilinxmult.hch"
+ +

+Include dependency graph for fft.hcc:

Include dependency graph
+ + + + + + +

+Go to the source code of this file. + + + + + + + + + + + +

Functions

macro proc multiply (result, op_a, op_b)
 Procedure used for multiply-ing.
void calculate_fft (unsigned 1 select_inverse)
 This routine performs the Fast Fourier Transform for calculation of the frequency spectrum.
void equalize_audio (audiodata_t *audiodata)
 This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars.
+


Detailed Description

+

+Audiodriver API

+on the samples. Besides the FFT this module also will equalize the audio signal according to the setting made by the user.

+Project information.

+Project Graphic Equalizer
+
Author:
M. Lauwerijssen
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: M. Lauwerijssen
+ Initial version +

+Definition in file fft.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
void calculate_fft unsigned 1  select_inverse  ) 
+
+ + + + + +
+   + + +

+This routine performs the Fast Fourier Transform for calculation of the frequency spectrum. +

+

Parameters:
+ + +
select_inverse determines if a FFT or iFFT has to be calculated
+
+
Returns:
nothing
+
Return values:
+ + +
void cost 12391 cycles
+
+ +

+Definition at line 95 of file fft.hcc. +

+References multiply().

+ +

+Here is the call graph for this function:

+ + + +

+ + + + +
+ + + + + + + + + +
void equalize_audio audiodata_t *  audiodata  ) 
+
+ + + + + +
+   + + +

+This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars. +

+

Parameters:
+ + +
*audiodata pointer to the audiodata struct, containing the eq_info, etc.
+
+
Returns:
nothing
+
Return values:
+ + +
void cost 3844 cycles (Maximum)
+
+ +

+Definition at line 389 of file fft.hcc. +

+References multiply().

+ +

+Here is the call graph for this function:

+ + + +

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
macro proc multiply result ,
op_a ,
op_b 
+
+ + + + + +
+   + + +

+Procedure used for multiply-ing. +

+

Parameters:
+ + + + +
result variable containing the result of the multiply procedure
op_a integer value to be multiplied.
op_b integer value to be multiplied.
+
+
Returns:
Procedure returns through variable.
+
Return values:
+ + +
signed 36
+
+ +

+Definition at line 73 of file fft.hcc. +

+Referenced by calculate_fft(), and equalize_audio().

+


Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.map b/Graphic_Equalizer/doc/html/fft_8hcc__incl.map new file mode 100644 index 0000000..2d923f7 --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc__incl.map @@ -0,0 +1,4 @@ +base referer +rect $audio_8hch.html 245,7 325,34 +rect $weights__256_8hch-source.html 349,7 472,34 +rect $configuration_8hch.html 496,7 621,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 new file mode 100644 index 0000000..6b90790 --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 @@ -0,0 +1 @@ +af4485cdfc938c062a18c2da9da4fe29 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.png b/Graphic_Equalizer/doc/html/fft_8hcc__incl.png new file mode 100644 index 0000000..64ce389 Binary files /dev/null and b/Graphic_Equalizer/doc/html/fft_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map new file mode 100644 index 0000000..de7305e --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map @@ -0,0 +1,2 @@ +base referer +rect $fft_8hcc.html#a1 151,8 221,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 new file mode 100644 index 0000000..eea4b2a --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 @@ -0,0 +1 @@ +a664c98e0e50457202b8c3914d39308b \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png new file mode 100644 index 0000000..2f3869f Binary files /dev/null and b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png differ diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map new file mode 100644 index 0000000..bf2ee37 --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map @@ -0,0 +1,2 @@ +base referer +rect $fft_8hcc.html#a1 167,8 237,34 diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 new file mode 100644 index 0000000..f927306 --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 @@ -0,0 +1 @@ +f0c4c2af57885262b921645fe4f73262 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png new file mode 100644 index 0000000..29c7f08 Binary files /dev/null and b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png differ diff --git a/Graphic_Equalizer/doc/html/fft_8hch-source.html b/Graphic_Equalizer/doc/html/fft_8hch-source.html new file mode 100644 index 0000000..b2141cb --- /dev/null +++ b/Graphic_Equalizer/doc/html/fft_8hch-source.html @@ -0,0 +1,22 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/fft.hch Source File + + + +
Main Page | File List | Globals
+ +

fft.hch

00001 #if HARDWARE_MULTIPLY
+00002 void perform_fft(signed 18 *pcm_audio);
+00003 void perform_ifft(signed 18 *modified_audio ,unsigned 6 *ifft_info);
+00004 #else
+00005 void perform_fft(signed 16 *pcm_audio);
+00006 void perform_ifft(signed 16 *modified_audio ,unsigned 6 *ifft_info);
+00007 #endif
+00008 void equalize_audio(audiodata_t *audiodata);
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/files.html b/Graphic_Equalizer/doc/html/files.html new file mode 100644 index 0000000..dce5f2a --- /dev/null +++ b/Graphic_Equalizer/doc/html/files.html @@ -0,0 +1,36 @@ + + +Graphic Equalizer: File Index + + + +
Main Page | File List | Globals
+

Graphic Equalizer File List

Here is a list of all documented files with brief descriptions: + + + + + + + + + + + + + + + + + + + + + + +
C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/fft.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/runfft.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/include/weights_256.hch [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc [code]
C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc [code]
+
Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/ftv2blank.png b/Graphic_Equalizer/doc/html/ftv2blank.png new file mode 100644 index 0000000..493c3c0 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2blank.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2doc.png b/Graphic_Equalizer/doc/html/ftv2doc.png new file mode 100644 index 0000000..f72999f Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2doc.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2folderclosed.png b/Graphic_Equalizer/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000..d6d0634 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2folderclosed.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2folderopen.png b/Graphic_Equalizer/doc/html/ftv2folderopen.png new file mode 100644 index 0000000..bbe2c91 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2folderopen.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2lastnode.png b/Graphic_Equalizer/doc/html/ftv2lastnode.png new file mode 100644 index 0000000..e7b9ba9 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2lastnode.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2link.png b/Graphic_Equalizer/doc/html/ftv2link.png new file mode 100644 index 0000000..14f3fed Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2link.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2mlastnode.png b/Graphic_Equalizer/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000..09ceb6a Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2mlastnode.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2mnode.png b/Graphic_Equalizer/doc/html/ftv2mnode.png new file mode 100644 index 0000000..3254c05 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2mnode.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2node.png b/Graphic_Equalizer/doc/html/ftv2node.png new file mode 100644 index 0000000..c9f06a5 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2node.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2plastnode.png b/Graphic_Equalizer/doc/html/ftv2plastnode.png new file mode 100644 index 0000000..0b07e00 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2plastnode.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2pnode.png b/Graphic_Equalizer/doc/html/ftv2pnode.png new file mode 100644 index 0000000..2001b79 Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2pnode.png differ diff --git a/Graphic_Equalizer/doc/html/ftv2vertline.png b/Graphic_Equalizer/doc/html/ftv2vertline.png new file mode 100644 index 0000000..b330f3a Binary files /dev/null and b/Graphic_Equalizer/doc/html/ftv2vertline.png differ diff --git a/Graphic_Equalizer/doc/html/globals.html b/Graphic_Equalizer/doc/html/globals.html new file mode 100644 index 0000000..7418674 --- /dev/null +++ b/Graphic_Equalizer/doc/html/globals.html @@ -0,0 +1,30 @@ + + +Graphic Equalizer: Globals + + + +
Main Page | File List | Globals
+
All | Functions
+ +

+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:

+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/globals_func.html b/Graphic_Equalizer/doc/html/globals_func.html new file mode 100644 index 0000000..7f90955 --- /dev/null +++ b/Graphic_Equalizer/doc/html/globals_func.html @@ -0,0 +1,30 @@ + + +Graphic Equalizer: Globals - Functions + + + +
Main Page | File List | Globals
+
All | Functions
+ +

+

+
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/graph_legend.dot b/Graphic_Equalizer/doc/html/graph_legend.dot new file mode 100644 index 0000000..5420927 --- /dev/null +++ b/Graphic_Equalizer/doc/html/graph_legend.dot @@ -0,0 +1,22 @@ +digraph G +{ + edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; + node [fontname="Helvetica",fontsize=10,shape=record]; + Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",style="filled" fontcolor="white"]; + Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; + Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; + Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; + Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; + Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="Helvetica"]; + Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; + Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="Helvetica"]; + Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; + Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; + Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; + Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; + Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="Helvetica"]; + Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; + Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="Helvetica"]; + Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; +} diff --git a/Graphic_Equalizer/doc/html/graph_legend.html b/Graphic_Equalizer/doc/html/graph_legend.html new file mode 100644 index 0000000..76c166f --- /dev/null +++ b/Graphic_Equalizer/doc/html/graph_legend.html @@ -0,0 +1,74 @@ + + +Graphic Equalizer: Graph Legend + + + +
Main Page | File List | Globals
+

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

+Consider the following example:

/*! Invisible class because of truncation */
+class Invisible { };
+
+/*! Truncated class, inheritance relation is hidden */
+class Truncated : public Invisible { };
+
+/* Class not documented with doxygen comments */
+class Undocumented { };
+
+/*! Class that is inherited using public inheritance */
+class PublicBase : public Truncated { };
+
+/*! A template class */
+template<class T> class Templ { };
+
+/*! Class that is inherited using protected inheritance */
+class ProtectedBase { };
+
+/*! Class that is inherited using private inheritance */
+class PrivateBase { };
+
+/*! Class that is used by the Inherited class */
+class Used { };
+
+/*! Super class that inherits a number of other classes */
+class Inherited : public PublicBase,
+                  protected ProtectedBase,
+                  private PrivateBase,
+                  public Undocumented
+                  public Templ<int>
+{
+  private:
+    Used *m_usedClass;
+};
+
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

+

+graph_legend.png +
+

+The boxes in the above graph have the following meaning:

+The arrows have the following meaning: +
Generated on Mon Nov 29 12:04:51 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/graph_legend.png b/Graphic_Equalizer/doc/html/graph_legend.png new file mode 100644 index 0000000..b8cfe42 Binary files /dev/null and b/Graphic_Equalizer/doc/html/graph_legend.png differ diff --git a/Graphic_Equalizer/doc/html/index.html b/Graphic_Equalizer/doc/html/index.html new file mode 100644 index 0000000..d51127f --- /dev/null +++ b/Graphic_Equalizer/doc/html/index.html @@ -0,0 +1,8 @@ + + +Graphic Equalizer + + + + + diff --git a/Graphic_Equalizer/doc/html/main.html b/Graphic_Equalizer/doc/html/main.html new file mode 100644 index 0000000..60b2f95 --- /dev/null +++ b/Graphic_Equalizer/doc/html/main.html @@ -0,0 +1,14 @@ + + +Graphic Equalizer: Main Page + + + +
Main Page | File List | Globals
+

Graphic Equalizer Documentation

+

+

2.0.1


Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/main_8hcc-source.html b/Graphic_Equalizer/doc/html/main_8hcc-source.html new file mode 100644 index 0000000..b95c023 --- /dev/null +++ b/Graphic_Equalizer/doc/html/main_8hcc-source.html @@ -0,0 +1,164 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc Source File + + + +
Main Page | File List | Globals
+ +

main.hcc

Go to the documentation of this file.
00001 
+00019 /*
+00020  * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.
+00021  */
+00022 #define PAL_TARGET_CLOCK_RATE 25175000
+00023 
+00024 /******** System Includes *************/
+00025 #include "pal_master.hch"
+00026 
+00027 /******** Application Includes ********/
+00028 #include "configuration.hch"
+00029 #include "audio.hch"
+00030 #include "mouse_shared.hch"
+00031 #include "mouse.hch"
+00032 #include "eventhandler_shared.hch"
+00033 #include "eventhandler.hch"
+00034 #include "display_shared.hch"
+00035 #include "display.hch"
+00036 #include "smartmedia.hch"
+00037 
+00038 #include "fft.hch"
+00039 #include "runfft.hch"
+00040 
+00041 #if HAVE_DEBUG
+00042         #include "debug.hch"
+00043 #endif
+00044 
+00051 void main(void) {
+00052         /*
+00053          * Set VideoOut, Audio I/O and Ram Handles and set clockrate.
+00054          */
+00055         macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
+00056         macro expr VideoOut = PalVideoOutOptimalCT(ClockRate);
+00057         macro expr AudioIn  = PalAudioInCT(0);
+00058         macro expr AudioOut = PalAudioOutCT(0);
+00059         macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00060 
+00061         mousedata_t mousedata;
+00062         events_t events;
+00063         audiodata_t audiodata;
+00064         skindata_t skindata;
+00065         unsigned 1 result;
+00066 
+00067         /*
+00068          * Check library versions and Request various hardware functionality.
+00069          * We need at least Major Version 1. For Audio purposes we need atleast
+00070          * minor version 2.
+00071          */
+00072         PalVersionRequire(1, 2);
+00073         PalVideoOutRequire(1);
+00074         PalAudioInRequire(1);
+00075         PalAudioOutRequire(1);
+00076         PalPL2RAMRequire(1);
+00077 
+00078         /*
+00079          * We verify some datawidths here at compile time. This to ensure
+00080          * successfull operation.
+00081          */
+00082         assert (PalVideoOutGetColorWidthCT(VideoOut) == 24, 0, 
+00083                 "We need a 24-bit color Display.");
+00084         assert (PalPL2RAMGetDataWidthCT(RAM_BANK0) >= 32, 0, 
+00085                 "We can't work with anything less then 32 bits wide ram.");
+00086 
+00087         /*
+00088          * Run The Following main tasks in parallel.
+00089          */
+00090         par {
+00091                 /*
+00092                  * Primary task is to 'Run' several hardware simultaniously.
+00093                  */
+00094                 PalVideoOutRun(VideoOut, ClockRate);
+00095                 MouseRun(ClockRate);
+00096                 PalAudioInRun(AudioIn, ClockRate);
+00097                 PalAudioOutRun(AudioOut, ClockRate);
+00098                 PalPL2RAMRun(RAM_BANK0, ClockRate);
+00099 #if HAVE_SMARTMEDIA
+00100                 /*
+00101                  * The smartmedia device needs the CPLD to run also.
+00102                  */
+00103                 CPLDRun(ClockRate);
+00104                 SmartMediaRun(ClockRate);
+00105 #endif
+00106 #if HAVE_DEBUG
+00107                 RC200RS232Run(RC200RS232_115200Baud, RC200RS232ParityNone,
+00108                         RC200RS232FlowControlNone, ClockRate);
+00109 #endif
+00110                 
+00111                 /*
+00112                  * Parallel to our Primary tasks we run the application.
+00113                  */
+00114                 seq {
+00115                         /*
+00116                          * But first we need to initialize Video and Audio.
+00117                          * We also load the data from the SmartMedia card
+00118                          * into the ram.
+00119                          */
+00120 #if HAVE_DEBUG
+00121                         print_cls();
+00122                         print_string("Graphic Equalizer 2");
+00123                         print_eol();
+00124 #endif
+00125                         PalVideoOutEnable(VideoOut);
+00126                         PalAudioInEnable(AudioIn);
+00127                         PalAudioOutEnable(AudioOut);
+00128                         audio_init(6, LINE_IN, SR_44100, AudioIn, AudioOut);
+00129 #if HAVE_SMARTMEDIA
+00130                         /*
+00131                          * Once we properly setup the SmartMedia we load our
+00132                          * data folowed by our main program loop.
+00133                          */
+00134                         result = smartmedia_init();
+00135                         if (!result) {
+00136 #endif
+00137 #if HAVE_DEBUG
+00138                                 print_string("Loading Skin ...");
+00139 #endif
+00140                                 smartmedia_loaddata(&skindata);
+00141 #if HAVE_DEBUG
+00142                                 print_eol();
+00143                                 print_string("Done Loading Skin ...");
+00144                                 print_eol();
+00145                                 print_string("Running Main Application.");
+00146                                 print_eol();
+00147 #endif
+00148 
+00149                                 /*
+00150                                  * Main application starts here!
+00151                                  */
+00152                                 par {
+00153                                         /*
+00154                                          * From here we run the mouse driver, audio
+00155                                          * and display in parallel. None of these
+00156                                          * should ever return.
+00157                                          */
+00158                                         mouse_main(&mousedata);
+00159                                         display_main(&skindata, &audiodata, &events, &mousedata);
+00160                                         eventhandler_main(&audiodata, &events, &mousedata);
+00161                                         audio_main(audiodata, AudioIn, AudioOut);
+00162                                 }
+00163 #if HAVE_SMARTMEDIA
+00164                         } else {
+00165 #if HAVE_DEBUG
+00166                                 print_string("Error Initializing SmartMedia");
+00167 #endif
+00168                         }
+00169 #endif
+00170                 }
+00171         }
+00172 
+00173 } /* --- main() --- */
+

Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/main_8hcc.html b/Graphic_Equalizer/doc/html/main_8hcc.html new file mode 100644 index 0000000..e2ed5f2 --- /dev/null +++ b/Graphic_Equalizer/doc/html/main_8hcc.html @@ -0,0 +1,122 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc File Reference + + + +
Main Page | File List | Globals
+ +

main.hcc File Reference

#include "pal_master.hch"
+#include "configuration.hch"
+#include "audio.hch"
+#include "mouse_shared.hch"
+#include "mouse.hch"
+#include "eventhandler_shared.hch"
+#include "eventhandler.hch"
+#include "display_shared.hch"
+#include "display.hch"
+#include "smartmedia.hch"
+#include "fft.hch"
+#include "runfft.hch"
+ +

+Include dependency graph for main.hcc:

Include dependency graph
+ + + + + + + + + + + + + + +

+Go to the source code of this file. + + + + + +

Functions

void main (void)
 Main Application Loop.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011: O.M. Schinagl
+ Initial version +

+Definition in file main.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
void main void   ) 
+
+ + + + + +
+   + + +

+Main Application Loop. +

+

Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 51 of file main.hcc. +

+References audio_init(), audio_main(), display_main(), eventhandler_main(), mouse_main(), smartmedia_init(), and smartmedia_loaddata().

+ +

+Here is the call graph for this function:

+ + + + + + + + + + + +
Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.map b/Graphic_Equalizer/doc/html/main_8hcc__incl.map new file mode 100644 index 0000000..f5d400e --- /dev/null +++ b/Graphic_Equalizer/doc/html/main_8hcc__incl.map @@ -0,0 +1,12 @@ +base referer +rect $configuration_8hch.html 143,7 269,34 +rect $audio_8hch.html 293,7 373,34 +rect $mouse__shared_8hch.html 397,7 533,34 +rect $mouse_8hch.html 557,7 645,34 +rect $eventhandler__shared_8hch.html 669,7 842,34 +rect $eventhandler_8hch.html 866,7 991,34 +rect $display__shared_8hch.html 1015,7 1151,34 +rect $display_8hch.html 1175,7 1263,34 +rect $smartmedia_8hch.html 1287,7 1405,34 +rect $fft_8hch-source.html 1429,7 1487,34 +rect $runfft_8hch-source.html 1511,7 1589,34 diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 new file mode 100644 index 0000000..4c381f9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 @@ -0,0 +1 @@ +a58fdd2d7864a80c84f599fc494e12fb \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.png b/Graphic_Equalizer/doc/html/main_8hcc__incl.png new file mode 100644 index 0000000..a519b5a Binary files /dev/null and b/Graphic_Equalizer/doc/html/main_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map new file mode 100644 index 0000000..0a561a6 --- /dev/null +++ b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map @@ -0,0 +1,10 @@ +base referer +rect $audio_8hcc.html#a0 145,8 225,34 +rect $audio_8hcc.html#a1 140,58 230,85 +rect $display_8hcc.html#a3 134,109 236,136 +rect $eventhandler_8hcc.html#a3 117,160 253,186 +rect $mouse_8hcc.html#a0 136,210 234,237 +rect $smartmedia_8hch.html#a9 126,261 244,288 +rect $smartmedia_8hcc.html#a1 109,312 261,338 +rect $events_8hcc.html#a2 325,134 416,161 +rect $display_8hcc.html#a4 310,185 430,212 diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 new file mode 100644 index 0000000..a1cfce5 --- /dev/null +++ b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 @@ -0,0 +1 @@ +cb39dc81a189770b36ae70a4f9bee1f4 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png new file mode 100644 index 0000000..c55d7a3 Binary files /dev/null and b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png differ diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc-source.html b/Graphic_Equalizer/doc/html/mouse_8hcc-source.html new file mode 100644 index 0000000..7214416 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hcc-source.html @@ -0,0 +1,116 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc Source File + + + +
Main Page | File List | Globals
+ +

mouse.hcc

Go to the documentation of this file.
00001 
+00021 /******** System Includes *************/
+00022 #include <stdlib.hch>
+00023 
+00024 #include "pal_master.hch"
+00025 #include "pal_mouse.hch"
+00026 
+00027 /******** Application Includes ********/
+00028 #include "configuration.hch"
+00029 #include "mouse_shared.hch"
+00030 #include "mouse.hch"
+00031 
+00032 #if HAVE_DEBUG
+00033         #include "debug.hch"
+00034 #endif
+00035 
+00036 
+00037 
+00048 void mouse_main(mousedata_t *mousedata) {
+00049         unsigned 18 touch_sampler;
+00050         unsigned 10 x, oldx;
+00051         unsigned 9 y, oldy;
+00052         unsigned 3 mousestate, oldmousestate;
+00053         unsigned 1 touch, touched, oldtouched;
+00054 
+00055         /*
+00056          * We only check for mouse states once every 2^18 time. This to
+00057          * overcome the sampling of the 'Touch' state of the RC200 libs. When
+00058          * using newer libs this might be overkill, e.g. smaller values may
+00059          * work or sampling all together will be redundant.
+00060          */
+00061         touch_sampler = 1;
+00062         while (TRUE) {
+00063                 if (!touch_sampler) {
+00064                         /*
+00065                          * We are here ready to set mouse states. We compare
+00066                          * current and previous states and thereby determine
+00067                          * the state to send to others
+00068                          */
+00069                         if (touched) {
+00070                                 if(oldtouched) {
+00071                                         mousestate = MOUSE_STATE_DOWN;
+00072                                 } else {
+00073                                         mousestate = MOUSE_STATE_ON_PRESS;
+00074                                 }
+00075                                 oldtouched = TRUE;
+00076                         } else {
+00077                                 if(oldtouched) {
+00078                                         mousestate = MOUSE_STATE_ON_RELEASE;
+00079                                 } else {
+00080                                         mousestate = MOUSE_STATE_UP;
+00081                                 }
+00082                                 oldtouched = FALSE;
+00083                         }
+00084                         /*
+00085                          * We have now processed our Touch. Reset it for the
+00086                          * next run.
+00087                          */
+00088                         touched = FALSE;
+00089 
+00090                         /*
+00091                          * In the rare occurance that we receive values
+00092                          * beyond our range, we set them to some sane
+00093                          * values here.
+00094                          */
+00095                          x = (x > 639) ? 0 : x;
+00096                          y = (y > 479) ? 0 : y;
+00097 
+00098                         /*
+00099                          * Compare Previous States and Coordinates to determine
+00100                          * wether they have changed. If so, Copy them into
+00101                          * shared memory, notify the listening processes and
+00102                          * Set the new as previous values for the next run. We
+00103                          * can only do this when the display has handled all
+00104                          * changes.
+00105                          */
+00106                         if (((oldmousestate != mousestate) || (oldx != x) || (oldy != y)) && (MOUSE_NOT_UPDATED == mousedata->status)) {
+00107                                 //par {
+00108                                         oldx = x;
+00109                                         oldy = y;
+00110                                         oldmousestate = mousestate;
+00111                                         mousedata->x = x;
+00112                                         mousedata->y = 0 @ y;
+00113                                         mousedata->state = mousestate;
+00114                                         mousedata->status = MOUSE_UPDATED;
+00115                                 //}
+00116                         }
+00117                 }
+00118 
+00119                 /*
+00120                  * Read the current X and Y of the 'cursor' and register wether
+00121                  * the display was touched. If touched store this in a local
+00122                  * store. This we do to catch the sampling of the RC200 lib.
+00123                  */
+00124                 RC200TouchScreenReadScaled(&x, &y, &touch);
+00125                 if (touch) {
+00126                         touched = TRUE;
+00127                 }
+00128 
+00129                 touch_sampler++;
+00130         }
+00131 } /* --- mouse_main() --- */
+

Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc.html b/Graphic_Equalizer/doc/html/mouse_8hcc.html new file mode 100644 index 0000000..a82959f --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hcc.html @@ -0,0 +1,99 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc File Reference + + + +
Main Page | File List | Globals
+ +

mouse.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "pal_mouse.hch"
+#include "configuration.hch"
+#include "mouse_shared.hch"
+#include "mouse.hch"
+ +

+Include dependency graph for mouse.hcc:

Include dependency graph
+ + + + + + +

+Go to the source code of this file. + + + + + +

Functions

void mouse_main (mousedata_t *mousedata)
 Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store.
+


Detailed Description

+

+Audiodriver API

+input function itself is however performed by the touchscreen of the RC200.

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011: O.M. Schinagl
+ Initial version +

+Definition in file mouse.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
void mouse_main mousedata_t *  mousedata  ) 
+
+ + + + + +
+   + + +

+Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. +

+

Parameters:
+ + +
*mousedata Storage for all mousedata and states.
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 48 of file mouse.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map new file mode 100644 index 0000000..ed301e8 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map @@ -0,0 +1,4 @@ +base referer +rect $configuration_8hch.html 381,7 506,34 +rect $mouse__shared_8hch.html 530,7 666,34 +rect $mouse_8hch.html 690,7 778,34 diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 new file mode 100644 index 0000000..8a79480 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 @@ -0,0 +1 @@ +254026f7ee99dbe927548df7b2f1ac05 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png new file mode 100644 index 0000000..f87dd35 Binary files /dev/null and b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/mouse_8hch-source.html b/Graphic_Equalizer/doc/html/mouse_8hch-source.html new file mode 100644 index 0000000..eb544bd --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hch-source.html @@ -0,0 +1,38 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch Source File + + + +
Main Page | File List | Globals
+ +

mouse.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _MOUSEDRIVER_HCH
+00020 #define _MOUSEDRIVER_HCH 1
+00021 
+00022 
+00023 
+00024 /*
+00025  * Create a define to keep API generic
+00026  */
+00027 #define MouseRun(ClockRate) RC200TouchScreenRun(ClockRate)
+00028 
+00029 
+00030 
+00031 /*
+00032  * Main mousedriver loop. This procedure never returns! It handles mouse input,
+00033  * updates the shared memory and notifies listeners. It requires a pointer to
+00034  * a mousedata_t struct to store mouse information.
+00035  */
+00036 void mouse_main(mousedata_t *mousedata);
+00037 
+00038 #else
+00039 #error "ERROR file mousedriver.hch multiple times included"
+00040 #endif /* --- _MOUSEDRIVER_HCH --- */
+00041 
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/mouse_8hch.html b/Graphic_Equalizer/doc/html/mouse_8hch.html new file mode 100644 index 0000000..b13c0b3 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hch.html @@ -0,0 +1,92 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch File Reference + + + +
Main Page | File List | Globals
+ +

mouse.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + +

+Go to the source code of this file. + + + + + +

Functions

void mouse_main (mousedata_t *mousedata)
 Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011: O.M. Schinagl
+ Initial version +

+Definition in file mouse.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
void mouse_main mousedata_t *  mousedata  ) 
+
+ + + + + +
+   + + +

+Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. +

+

Parameters:
+ + +
*mousedata Storage for all mousedata and states.
+
+
Returns:
Never Returns.
+
Return values:
+ + +
void 
+
+ +

+Definition at line 48 of file mouse.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map new file mode 100644 index 0000000..c2ecffa --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map @@ -0,0 +1,3 @@ +base referer +rect $main_8hcc.html 8,7 82,34 +rect $mouse_8hcc.html 106,7 192,34 diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 new file mode 100644 index 0000000..30a98a4 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 @@ -0,0 +1 @@ +13b256c6eed7f888f4f52496299b4b2d \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png new file mode 100644 index 0000000..ac0c83c Binary files /dev/null and b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html b/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html new file mode 100644 index 0000000..352880e --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html @@ -0,0 +1,53 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch Source File + + + +
Main Page | File List | Globals
+ +

mouse_shared.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _MOUSEDRIVER_SHARED_HCH
+00020 #define _MOUSEDRIVER_SHARED_HCH 1
+00021 
+00022 /*** Data Types **********************/
+00023 
+00024 /*
+00025  * Type definition of the shared memory to be used in various processes
+00026  */
+00027 typedef struct {
+00028         unsigned 10 x, y;
+00029         unsigned 3 state;
+00030         unsigned 1 status;
+00031 } mousedata_t;
+00032 
+00033 
+00034 
+00035 /*
+00036  * States used to identify wether mouse data is updated
+00037  */
+00038 #define MOUSE_NOT_UPDATED       0
+00039 #define MOUSE_UPDATED           1
+00040 
+00041 
+00042 
+00043 /*
+00044  * Set of Mouse States defines
+00045  */
+00046 #define MOUSE_STATE_UP          0
+00047 #define MOUSE_STATE_ON_PRESS    1
+00048 #define MOUSE_STATE_DOWN        2
+00049 #define MOUSE_STATE_ON_RELEASE  3
+00050 
+00051 
+00052 
+00053 #else
+00054 #error "ERROR file mousedriver_shared.hch multiple times included"
+00055 #endif /* --- _MOUSEDRIVER_SHARED_HCH --- */
+00056 
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch.html b/Graphic_Equalizer/doc/html/mouse__shared_8hch.html new file mode 100644 index 0000000..89f79c9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch.html @@ -0,0 +1,45 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch File Reference + + + +
Main Page | File List | Globals
+ +

mouse_shared.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + + + + +

+Go to the source code of this file. + +
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011: O.M. Schinagl
+ Initial version +

+Definition in file mouse_shared.hch.


Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map new file mode 100644 index 0000000..199f162 --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map @@ -0,0 +1,6 @@ +base referer +rect $display_8hcc.html 8,7 96,34 +rect $eventhandler_8hcc.html 120,7 242,34 +rect $main_8hcc.html 266,7 341,34 +rect $mouse_8hcc.html 365,7 450,34 +rect $smartmedia_8hcc.html 474,7 592,34 diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 new file mode 100644 index 0000000..003654a --- /dev/null +++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 @@ -0,0 +1 @@ +0fb2c7882172821abee6da1bc34d0db2 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png new file mode 100644 index 0000000..01b165d Binary files /dev/null and b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc-source.html b/Graphic_Equalizer/doc/html/runfft_8hcc-source.html new file mode 100644 index 0000000..554df35 --- /dev/null +++ b/Graphic_Equalizer/doc/html/runfft_8hcc-source.html @@ -0,0 +1,166 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc Source File + + + +
Main Page | File List | Globals
+ +

runfft.hcc

Go to the documentation of this file.
00001 
+00020 #include <stdlib.hch>
+00021 #include "pal_master.hch"
+00022 
+00023 #include "configuration.hch"
+00024 #if USE_RUNFFT
+00025 #include "audio.hch"
+00026 #include "fft.hch"
+00027 
+00028 #include "debug.hch"
+00029 
+00030 /*
+00031  * Forward declarations
+00032  */
+00033 static macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
+00034 #if HARDWARE_MULTIPLY
+00035 //input buffer
+00036 ram signed 18 audio_buffer_in[256] with { block = "BlockRAM"};
+00037 //output buffer
+00038 ram signed 18 audio_buffer_out[128] with { block = "BlockRAM"}; 
+00039 #else
+00040 //input buffer
+00041 ram signed 16 audio_buffer_in[256] with { block = "BlockRAM"};
+00042 //output buffer
+00043 ram signed 16 audio_buffer_out[128] with { block = "BlockRAM"}; 
+00044 #endif
+00045 //EQ settings for the FFT
+00046 ram unsigned 4 EQ_info[128] with { block = "BlockRAM"}; 
+00047 //EQ settings received from the display
+00048 
+00049 
+00050 #if HARDWARE_MULTIPLY
+00051 signed 18 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
+00052 
+00053 signed 18 *audioptr_out1,*audioptr_out2;
+00054 
+00055 unsigned 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
+00056 #else
+00057 signed 16 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
+00058 
+00059 signed 16 *audioptr_out1,*audioptr_out2;
+00060 
+00061 unsigned 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
+00062 #endif
+00063 
+00074 macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT)
+00075 {
+00076         signed 18 sample;
+00077         unsigned 6 sample_count;
+00078         unsigned 8 i,cycle;
+00079         unsigned 4 eqinfo;
+00080 
+00081         unsigned 1 FFT_Sync, first;
+00082         macro expr OW = PalAudioOutGetMaxDataWidthCT ();
+00083         macro expr IW = PalAudioInGetMaxDataWidthCT  ();
+00084         signed LeftNew, RightNew;
+00085         signed Output_sample;
+00086 
+00087         ram unsigned 6 input[64];
+00088 
+00089         //pointers for double and quadruple buffering:
+00090         audioptr_in1 = &audio_buffer_in[0];
+00091         audioptr_in2 = &audio_buffer_in[64];
+00092         audioptr_in3 = &audio_buffer_in[128];
+00093         audioptr_in4 = &audio_buffer_in[192];
+00094 
+00095         audioptr_out1 = &audio_buffer_out[0];
+00096         audioptr_out2 = &audio_buffer_out[64];
+00097 
+00098         displayptr1 = &audiodata.ifft_info.write[0];
+00099         displayptr2 = &audiodata.ifft_info.write[64];
+00100         displayptr3 = &audiodata.ifft_info.write[128];
+00101         displayptr4 = &audiodata.ifft_info.write[192];
+00102 
+00103         FFT_Sync=0;
+00104 par
+00105 {
+00106         for(;;)
+00107         {
+00108                 if (FFT_Sync)   //if 64 samples are read from ADC...
+00109                 {
+00110                         par
+00111                         {
+00112                                 // switch pointers 
+00113                                 audioptr_in1 = audioptr_in2;
+00114                                 audioptr_in2 = audioptr_in3;
+00115                                 audioptr_in3 = audioptr_in4;
+00116                                 audioptr_in4 = audioptr_in1;
+00117                                 
+00118                                 audioptr_out1 = audioptr_out2;
+00119                                 audioptr_out2 = audioptr_out1;
+00120 
+00121                                 displayptr1=displayptr2;
+00122                                 displayptr2=displayptr3;
+00123                                 displayptr3=displayptr4;
+00124                                 displayptr4=displayptr1;
+00125                                 
+00126                                 FFT_Sync = 0;
+00127                         }
+00128                 
+00129                         // FFT calculation
+00130                         perform_fft(audioptr_in1);
+00131                         
+00132 #if PERFORM_FFT_CALCULATION
+00133                         equalize_audio(&audiodata);
+00134 #endif
+00135                         // inverse FFT calculation
+00136                         perform_ifft(audioptr_out1,displayptr1);                
+00137                 }
+00138                 else
+00139                         delay;
+00140         }       
+00141 
+00142         for(sample_count=0;;)//store the samples in the inputbuffer
+00143         {
+00144                 if (!FFT_Sync)
+00145                 {
+00146                         par
+00147                         {
+00148                                 seq
+00149                                 {
+00150                                         PalAudioInRead(AUDIOIN, &LeftNew, &RightNew);
+00151 #if HARDWARE_MULTIPLY                                   
+00152                                         audioptr_in1[sample_count] = LeftNew;//drop 2 LSB's
+00153 #else
+00154                                         audioptr_in1[sample_count] = (LeftNew\\2);//drop 2 LSB's
+00155 #endif
+00156                                         sample_count++; 
+00157                                         if (!sample_count) 
+00158                                         {
+00159                                                 FFT_Sync = 1; 
+00160                                         }
+00161                                 }
+00162                                 seq
+00163                                 {
+00164                                         Output_sample = audioptr_out2[sample_count];
+00165                                 }
+00166                         }
+00167                 }
+00168                 else
+00169                 {
+00170                         delay;
+00171                 }
+00172         }
+00173         for(;;)
+00174         {
+00175                 PalAudioOutWrite(AUDIOOUT,(signed OW)(Output_sample @ 0),(signed OW)(Output_sample @ 0));
+00176         }
+00177 }//end par
+00178 }// end function
+00179 #endif
+00180 
+

Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc.html b/Graphic_Equalizer/doc/html/runfft_8hcc.html new file mode 100644 index 0000000..d7cbaa9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/runfft_8hcc.html @@ -0,0 +1,45 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc File Reference + + + +
Main Page | File List | Globals
+ +

runfft.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "configuration.hch"
+ +

+Include dependency graph for runfft.hcc:

Include dependency graph
+ + + + +

+Go to the source code of this file. + +
+


Detailed Description

+

+Audiodriver API

+audiosamples are correctly buffered and fed correctly to the FFT.
+ This module will also handle the output of the modified audio samples.

+Project information.

+Project Graphic Equalizer
+
Author:
M. Lauwerijssen
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: M. Lauwerijssen
+ Initial version +

+Definition in file runfft.hcc.


Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map new file mode 100644 index 0000000..d372980 --- /dev/null +++ b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map @@ -0,0 +1,2 @@ +base referer +rect $configuration_8hch.html 245,7 370,34 diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 new file mode 100644 index 0000000..ff1d843 --- /dev/null +++ b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 @@ -0,0 +1 @@ +7129277ffd9cca9295345528e3048acb \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png new file mode 100644 index 0000000..3a3f863 Binary files /dev/null and b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/runfft_8hch-source.html b/Graphic_Equalizer/doc/html/runfft_8hch-source.html new file mode 100644 index 0000000..020361d --- /dev/null +++ b/Graphic_Equalizer/doc/html/runfft_8hch-source.html @@ -0,0 +1,15 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/runfft.hch Source File + + + +
Main Page | File List | Globals
+ +

runfft.hch

00001 extern macro proc RunFFT (AudioIn, AudioOut);
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/sample_8hcc-source.html b/Graphic_Equalizer/doc/html/sample_8hcc-source.html new file mode 100644 index 0000000..f7ee92e --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hcc-source.html @@ -0,0 +1,78 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/sample.hcc Source File + + + +
Main Page | File List | Globals
+ +

sample.hcc

Go to the documentation of this file.
00001 
+00019 /******** System Includes *************/
+00020 
+00021 /******** Application Includes ********/
+00022 #include "sample.hch"
+00023 
+00024 
+00025 
+00026 /*
+00027  * Pointer that points towards the current 64 bits samples.
+00028  */
+00029 signed 16 *audio_in_ptr;
+00030 
+00031 /*
+00032  * 64 step counter to keep track of our samples. This is a private variable.
+00033  */
+00034 unsigned 8 sample_count;
+00035 
+00036 
+00037 
+00046 void sample_add(signed 16 in_sample) {
+00047         /*
+00048          * We only sample 64 bits in our buffer, hence we circulate around the
+00049          * last 6 bits.
+00050          */
+00051         audio_in_ptr[sample_count <-6] = in_sample;
+00052         sample_count++;
+00053 } /* --- sample_add() --- */
+00054 
+00055 
+00056 
+00065 void sample_get(signed 16 *out_sample) {
+00066         /*
+00067          * We circulate around a 64 bits buffer, therefor we only use the last
+00068          *  6 bits.
+00069          */
+00070         *out_sample = audio_out_ptr[sample_count <-6];
+00071 } /* --- sample_get() --- */
+00072 
+00073 
+00074 
+00084 unsigned 1 sample_rotate_buffers(void) {
+00085         unsigned 1 retval;      /* store for returnvalue */
+00086 
+00087         retval = 0;
+00088         /*
+00089          * We only want to read 64 samples, but calculations work nicer if we
+00090          * use 256 samples. Therefor we circulate our audio pointer around.
+00091          */
+00092         if (!(sample_count <- 6)) {
+00093                 /*
+00094                  * 64 Samples have passed. We are back at '0'. Use the full
+00095                  * sample count as index which is 0 64 128 or 192 and back to
+00096                  * 0. Our Output is only 128 big so we only look at the
+00097                  * 7 LSB. Also, notify the main application that 64 samples
+00098                  * have been processed.
+00099                  */
+00100                 par {
+00101                         audio_in_ptr = &pcm_audio_in[sample_count];
+00102                         audio_out_ptr = &pcm_audio_out[(sample_count <- 7)];
+00103                         retval = 1;
+00104                 }
+00105         }
+00106 } /* --- sample_rotate_buffers() --- */
+

Generated on Mon Nov 29 10:53:29 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/sample_8hcc.html b/Graphic_Equalizer/doc/html/sample_8hcc.html new file mode 100644 index 0000000..bbe85aa --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hcc.html @@ -0,0 +1,182 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/sample.hcc File Reference + + + +
Main Page | File List | Globals
+ +

sample.hcc File Reference

#include "sample.hch"
+ +

+Include dependency graph for sample.hcc:

Include dependency graph
+ + + + +

+Go to the source code of this file. + + + + + + + + + + + +

Functions

void sample_add (signed 16 in_sample)
 This procedure adds the supplied sample to the input buffer.
void sample_get (signed 16 *out_sample)
 This procedure gets the sample from the current output buffer.
unsigned sample_rotate_buffers (void)
 This procedure rotates our buffers around if 64 samples are read into our current buffer.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041021
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041021: O.M. Schinagl
+ Initial version +

+Definition in file sample.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
void sample_add signed 16  in_sample  ) 
+
+ + + + + +
+   + + +

+This procedure adds the supplied sample to the input buffer. +

+

Parameters:
+ + +
signed 16 in_sample 16 bits signed sample to be added.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 46 of file sample.hcc.

+

+ + + + +
+ + + + + + + + + +
void sample_get signed 16 *  out_sample  ) 
+
+ + + + + +
+   + + +

+This procedure gets the sample from the current output buffer. +

+

Parameters:
+ + +
* in_sample pointer to storage for sample.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 65 of file sample.hcc.

+

+ + + + +
+ + + + + + + + + +
unsigned sample_rotate_buffers void   ) 
+
+ + + + + +
+   + + +

+This procedure rotates our buffers around if 64 samples are read into our current buffer. +

+

Parameters:
+ + +
in_sample 16 bits signed sample to be added.
+
+
Returns:
1 when 64 samples have passed, 0 otherwise.
+
Return values:
+ + +
unsigned 1;
+
+ +

+Definition at line 84 of file sample.hcc.

+


Generated on Mon Nov 29 10:53:30 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.map b/Graphic_Equalizer/doc/html/sample_8hcc__incl.map new file mode 100644 index 0000000..3cc520a --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hcc__incl.map @@ -0,0 +1,2 @@ +base referer +rect $sample_8hch.html 8,7 98,34 diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 new file mode 100644 index 0000000..7c12b7e --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 @@ -0,0 +1 @@ +1fc36cd8ce3c69063c04bf4a24a0e84e \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.png b/Graphic_Equalizer/doc/html/sample_8hcc__incl.png new file mode 100644 index 0000000..55cd496 Binary files /dev/null and b/Graphic_Equalizer/doc/html/sample_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/sample_8hch-source.html b/Graphic_Equalizer/doc/html/sample_8hch-source.html new file mode 100644 index 0000000..5789f08 --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hch-source.html @@ -0,0 +1,37 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/sample.hch Source File + + + +
Main Page | File List | Globals
+ +

sample.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _SAMPLE_HCH
+00020 #define _SAMPLE_HCH 1
+00021 
+00022 
+00023 
+00024 /*
+00025  * This procedure adds the supplied sample to the input buffer.
+00026  */
+00027 void sample_add(in_sample);
+00028 
+00029 
+00030 
+00031 /*
+00032  * This procedure rotates our buffers around if 64 samples are read into our
+00033  * current buffer. It returns 1 when 64 samples have passed, 0 otherwise.
+00034  */
+00035 unsigned 1 sample_rotate_buffers(void);
+00036 
+00037 #else
+00038 #error "ERROR file sample.hch multiple times included"
+00039 #endif /* --- _SAMPLE_HCH --- */
+00040 
+

Generated on Mon Nov 29 10:53:29 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/sample_8hch.html b/Graphic_Equalizer/doc/html/sample_8hch.html new file mode 100644 index 0000000..8c96e57 --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hch.html @@ -0,0 +1,89 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/sample.hch File Reference + + + +
Main Page | File List | Globals
+ +

sample.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + +

+Go to the source code of this file. + + + + + +

Functions

unsigned sample_rotate_buffers (void)
 This procedure rotates our buffers around if 64 samples are read into our current buffer.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041011
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041011: O.M. Schinagl
+ Initial version +

+Definition in file sample.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
unsigned sample_rotate_buffers void   ) 
+
+ + + + + +
+   + + +

+This procedure rotates our buffers around if 64 samples are read into our current buffer. +

+

Parameters:
+ + +
in_sample 16 bits signed sample to be added.
+
+
Returns:
1 when 64 samples have passed, 0 otherwise.
+
Return values:
+ + +
unsigned 1;
+
+ +

+Definition at line 84 of file sample.hcc.

+


Generated on Mon Nov 29 10:53:30 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map new file mode 100644 index 0000000..6282c3e --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map @@ -0,0 +1,2 @@ +base referer +rect $sample_8hcc.html 8,7 98,34 diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 new file mode 100644 index 0000000..2f59778 --- /dev/null +++ b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 @@ -0,0 +1 @@ +9b1a683b9bef5e200828acd3ea8684fb \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png new file mode 100644 index 0000000..edc203a Binary files /dev/null and b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html b/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html new file mode 100644 index 0000000..89fcb1d --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html @@ -0,0 +1,215 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc Source File + + + +
Main Page | File List | Globals
+ +

smartmedia.hcc

Go to the documentation of this file.
00001 
+00019 /******** System Includes *************/
+00020 #include <stdlib.hch>
+00021 
+00022 #include "pal_master.hch"
+00023 
+00024 /******** Application Includes ********/
+00025 #include "configuration.hch"
+00026 #include "display_shared.hch"
+00027 #include "smartmedia.hch"
+00028 
+00029 #if HAVE_DEBUG
+00030         #include "debug.hch"
+00031 #endif
+00032 
+00033 #include "audio.hch"
+00034 #include "mouse_shared.hch"
+00035 #include "eventhandler_shared.hch"
+00036 #include "display.hch" /* FIXME: temporary include, needs to be moved to 'init' */
+00037 
+00045 unsigned 1 smartmedia_init(void) {
+00046         unsigned 1 retval;
+00047         /*
+00048          * Firstly we enable both the CPLD and the SmartMedia.
+00049          */
+00050         RC200CPLDEnable();
+00051         RC200SmartMediaInit(&retval);
+00052 
+00053         if (retval) {
+00054                 RC200SmartMediaReset(&retval);
+00055                 RC200SmartMediaInit(&retval);
+00056         }
+00057         
+00058         return retval;  
+00059 } /* --- smartmedia_init() --- */
+00060 
+00061 
+00062 
+00071 void smartmedia_loaddata(skindata_t *skindata) {
+00072         /*
+00073          * Setup RAM Handle, and determin maximum Data and Address widths
+00074          */
+00075         macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00076         macro expr DW = PalPL2RAMGetMaxDataWidthCT();
+00077         macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+00078 
+00079         unsigned DW data;
+00080         unsigned 27 smartmedia_address, smartmedia_address_mask;
+00081         unsigned AW address;
+00082         unsigned 8 mask, r, g, b;
+00083         unsigned 3 stage;
+00084         unsigned 1 result;
+00085 
+00086 #if HAVE_DEBUG
+00087         /*
+00088          * Print some nice stats about data loading.
+00089          */
+00090         print_eol();
+00091         print_hex_value(0);
+00092 #endif
+00093         /*
+00094          * Before we enter our loop to fill our memory with valid data, we have
+00095          * to set the startup positions for the SmartMedia.
+00096          */
+00097         smartmedia_address = SMARTMEDIA_ADDRESS_SKIN_START;
+00098         smartmedia_address_mask = SMARTMEDIA_ADDRESS_SKINMASK_START;
+00099         stage = STAGE_LOAD_SKIN;
+00100         /*
+00101          * We start with the address of the skin, and do the loop until we have
+00102          * done the end of the help.
+00103          */
+00104         for (address = ADDRESS_SKIN_START; address != (ADDRESS_PRESET_RESET_END +1); address++) {
+00105                 /*
+00106                  * Once we are done with the loading of our skin, we need to
+00107                  * change the smartmedia start addresses.
+00108                  */
+00109                 if (ADDRESS_HELP_START == address) {
+00110                         smartmedia_address = SMARTMEDIA_ADDRESS_HELP_START;
+00111                         smartmedia_address_mask = SMARTMEDIA_ADDRESS_HELPMASK_START;
+00112                         stage = STAGE_LOAD_HELP;
+00113                 }
+00114                 if (ADDRESS_GRAPHMASK_START == address) {
+00115                         smartmedia_address_mask = SMARTMEDIA_ADDRESS_GRAPHMASK_START;
+00116                         stage = STAGE_LOAD_GRAPH;
+00117                 }
+00118                 if (ADDRESS_PRESET_DEMO_START == address) {
+00119                         smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_DEMO_START;
+00120                         stage = STAGE_LOAD_PRESET;
+00121                 }
+00122 
+00123                 /*
+00124                  * Before reading our data from the smartmedia we set our
+00125                  * address pointer to the address from our loop.
+00126                  */
+00127 #if SKIP_LOAD
+00128                 if (STAGE_LOAD_PRESET == stage) {
+00129                         PalPL2RAMSetWriteAddress(RAM_BANK0, address);
+00130                 } else {
+00131                         PalPL2RAMSetWriteAddress(RAM_BANK0, 0);
+00132                 }
+00133 #else
+00134                 PalPL2RAMSetWriteAddress(RAM_BANK0, address);
+00135 #endif
+00136 
+00137                 /*
+00138                  * SmartMedia data is read one byte per call. Because we want
+00139                  * to store the mask + the rgb values in one variable for later
+00140                  * useage we need to read those 4 bytes from the smartmedia
+00141                  * before storing it as one.
+00142                  */
+00143 #if HAVE_SMARTMEDIA
+00144                 /*
+00145                  * FIXME: Due to a bug in the DK2 smartmedia libraries we need
+00146                  * stop reading after each byte with OperationEnd call. This is
+00147                  * VERY slow and must be changed.
+00148                  */
+00149         #if !USE_MASK_ONLY
+00150                 if ((STAGE_LOAD_SKIN == stage) || (STAGE_LOAD_HELP == stage)) {
+00151                         RC200SmartMediaSetAddress(READ, smartmedia_address);
+00152                         RC200SmartMediaRead(&r, TRUE);
+00153                         RC200SmartMediaOperationEnd(&result);
+00154                         RC200SmartMediaSetAddress(READ, (smartmedia_address +1));
+00155                         RC200SmartMediaRead(&g, TRUE);
+00156                         RC200SmartMediaOperationEnd(&result);
+00157                         RC200SmartMediaSetAddress(READ, (smartmedia_address +2));
+00158                         RC200SmartMediaRead(&b, TRUE);
+00159                         RC200SmartMediaOperationEnd(&result);
+00160                 }
+00161         #endif
+00162                 RC200SmartMediaSetAddress(READ, smartmedia_address_mask);
+00163                 RC200SmartMediaRead(&mask, TRUE);
+00164                 RC200SmartMediaOperationEnd(&result);
+00165 
+00166                 switch (stage) {
+00167                         case STAGE_LOAD_SKIN:
+00168                                 data = 0 @ mask @ r @ g @ b;
+00169                                 break;
+00170                         case STAGE_LOAD_HELP:
+00171                                 data = 0 @ mask @ r @ g @ b;
+00172                                 break;
+00173                         case STAGE_LOAD_GRAPH:
+00174                                 data = (unsigned DW)(0 @ mask) << 24;
+00175                                 break;
+00176                         case STAGE_LOAD_PRESET:
+00177                                 data = 0 @ mask;
+00178                                 break;
+00179                 }
+00180                 
+00181 #else
+00182                 if (STAGE_LOAD_PRESET == stage) {
+00183                         data = (address <- 1) ? 0x000000ff : 0x00000000;
+00184                 } else {
+00185                         data = 0x0000ff00;
+00186                 }
+00187 #endif
+00188                 /*
+00189                  * Now that we have gathered all pixel data, store it in ram.
+00190                  */
+00191                 PalPL2RAMWrite(RAM_BANK0, data);
+00192 
+00193 #if HAVE_DEBUG
+00194                 /*
+00195                  * Print some nice stats about data loading.
+00196                  */
+00197                 if (!(address <- 11)) {
+00198                         print_cr();
+00199                         print_hex_value(0 @ (address \\ 12));
+00200                         print_string(" / 000000E1 | data: ");
+00201                         print_hex_value(data <- 32);
+00202                 }
+00203 #endif
+00204 
+00205                 /*
+00206                  * Finally increase al our indexes approperiatly.
+00207                  */
+00208                 smartmedia_address += 3;
+00209                 smartmedia_address_mask++;
+00210         }
+00211 
+00212         /*
+00213          * This block needs to probably move up into the fore loop where we
+00214          * calculate these settings later.
+00215          */
+00216         skindata->area_spectrum_top = 200;
+00217         skindata->area_spectrum_bottom = 335;
+00218         skindata->area_spectrum_left = 77;
+00219         skindata->area_spectrum_right = 575;
+00220         skindata->area_waveform_top = 46;
+00221         skindata->area_waveform_bottom = 118;
+00222         skindata->area_waveform_left = 76;
+00223         skindata->area_waveform_right = 413;
+00224         skindata->area_volume_top = 112;
+00225         skindata->area_volume_bottom = 66;
+00226         skindata->area_volume_left = 439;
+00227         skindata->area_volume_right = 455;
+00228         skindata->color_area_volume = PIXEL_VOLUME;
+00229         skindata->color_area_waveform = PIXEL_WAVEFORM;
+00230 //      skindata->color_area_spectrum_top = PIXEL_SPECTRUM;
+00231 //      skindata->color_area_spectrum_bottom = PIXEL_SPECTRUM;
+00232         skindata->color_equalizer = PIXEL_EQUALIZER;
+00233 } /* --- smartmedia_loaddata() --- */
+

Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc.html b/Graphic_Equalizer/doc/html/smartmedia_8hcc.html new file mode 100644 index 0000000..a419c6c --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc.html @@ -0,0 +1,149 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc File Reference + + + +
Main Page | File List | Globals
+ +

smartmedia.hcc File Reference

#include <stdlib.hch>
+#include "pal_master.hch"
+#include "configuration.hch"
+#include "display_shared.hch"
+#include "smartmedia.hch"
+#include "audio.hch"
+#include "mouse_shared.hch"
+#include "eventhandler_shared.hch"
+#include "display.hch"
+ +

+Include dependency graph for smartmedia.hcc:

Include dependency graph
+ + + + + + + + + + +

+Go to the source code of this file. + + + + + + + + +

Functions

unsigned smartmedia_init (void)
 We here initialize the Smart Media card and verify wether the card is inserted and such.
void smartmedia_loaddata (skindata_t *skindata)
 We load our memory with skin and help data from the smartmedia.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: O.M. Schinagl
+ Initial version +

+Definition in file smartmedia.hcc.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
unsigned smartmedia_init void   ) 
+
+ + + + + +
+   + + +

+We here initialize the Smart Media card and verify wether the card is inserted and such. +

+

Returns:
We return 0 on success, 1 on error.
+
Return values:
+ + +
unsigned 1
+
+ +

+Definition at line 45 of file smartmedia.hcc. +

+Referenced by main().

+

+ + + + +
+ + + + + + + + + +
void smartmedia_loaddata skindata_t *  skindata  ) 
+
+ + + + + +
+   + + +

+We load our memory with skin and help data from the smartmedia. +

+

Parameters:
+ + +
*skindata skindata like boundries and colors of elements.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 71 of file smartmedia.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map new file mode 100644 index 0000000..772c577 --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map @@ -0,0 +1,8 @@ +base referer +rect $configuration_8hch.html 245,7 370,34 +rect $display__shared_8hch.html 394,7 530,34 +rect $smartmedia_8hch.html 554,7 671,34 +rect $audio_8hch.html 695,7 775,34 +rect $mouse__shared_8hch.html 799,7 935,34 +rect $eventhandler__shared_8hch.html 959,7 1133,34 +rect $display_8hch.html 1157,7 1245,34 diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 new file mode 100644 index 0000000..2d7426a --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 @@ -0,0 +1 @@ +f470da8edd0766027061fff526b49c25 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png new file mode 100644 index 0000000..6eaf676 Binary files /dev/null and b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png differ diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html b/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html new file mode 100644 index 0000000..712530e --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html @@ -0,0 +1,62 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch Source File + + + +
Main Page | File List | Globals
+ +

smartmedia.hch

Go to the documentation of this file.
00001 
+00019 #ifndef _SMARTMEDIA_HCH
+00020 #define _SMARTMEDIA_HCH 1
+00021 
+00022 /*
+00023  * SmartMedia functioncalls a bit to be set to either Read or Write. This
+00024  * define should make life easier identifying which one is what.
+00025  */
+00026 #define READ 0
+00027 #define WRITE 1
+00028 
+00029 
+00030 
+00031 /*
+00032  * The different stages the smart media loaders knows.
+00033  */
+00034 #define STAGE_LOAD_SKIN         0x00
+00035 #define STAGE_LOAD_HELP         0x01
+00036 #define STAGE_LOAD_GRAPH        0x02
+00037 #define STAGE_LOAD_PRESET       0x03
+00038 
+00039 
+00040 /*
+00041  * Create a define to keep API generic
+00042  * FIXME: replace with PAL calls when avaiable.
+00043  */
+00044 #define CPLDRun(ClockRate) RC200CPLDRun(ClockRate)
+00045 #define SmartMediaRun(ClockRate) RC200SmartMediaRun(ClockRate)
+00046 
+00047 
+00048 
+00049 /*
+00050  * Initializes the smartmedia device.
+00051  */
+00052 
+00053 unsigned 1 smartmedia_init(void);
+00054 
+00055 
+00056 
+00057 /*
+00058  * This function loads the memory with data from the smartmedia card.
+00059  */
+00060 void smartmedia_loaddata(skindata_t *skindata);
+00061 
+00062 #else
+00063 #error "ERROR file smartmedia.hch multiple times included"
+00064 #endif /* --- _SMARTMEDIA_HCH --- */
+00065 
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch.html b/Graphic_Equalizer/doc/html/smartmedia_8hch.html new file mode 100644 index 0000000..e5433b3 --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hch.html @@ -0,0 +1,135 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch File Reference + + + +
Main Page | File List | Globals
+ +

smartmedia.hch File Reference

+

+This graph shows which files directly or indirectly include this file:

Included by dependency graph
+ + + + + +

+Go to the source code of this file. + + + + + + + + +

Functions

unsigned smartmedia_init (void)
 We here initialize the Smart Media card and verify wether the card is inserted and such.
void smartmedia_loaddata (skindata_t *skindata)
 We load our memory with skin and help data from the smartmedia.
+


Detailed Description

+

+Audiodriver API

+

+Project information.

+Project Graphic Equalizer
+
Author:
O.M. Schinagl
+
Date:
20041110
+
Version:
0.1
+

+Copyright

+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved

+Change history

+20041110: O.M. Schinagl
+ Initial version +

+Definition in file smartmedia.hch.


Function Documentation

+

+ + + + +
+ + + + + + + + + +
unsigned smartmedia_init void   ) 
+
+ + + + + +
+   + + +

+We here initialize the Smart Media card and verify wether the card is inserted and such. +

+

Returns:
We return 0 on success, 1 on error.
+
Return values:
+ + +
unsigned 1
+
+ +

+Definition at line 45 of file smartmedia.hcc. +

+Referenced by main().

+

+ + + + +
+ + + + + + + + + +
void smartmedia_loaddata skindata_t *  skindata  ) 
+
+ + + + + +
+   + + +

+We load our memory with skin and help data from the smartmedia. +

+

Parameters:
+ + +
*skindata skindata like boundries and colors of elements.
+
+
Returns:
void
+
Return values:
+ + +
void 
+
+ +

+Definition at line 71 of file smartmedia.hcc. +

+Referenced by main().

+


Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map new file mode 100644 index 0000000..46f0913 --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map @@ -0,0 +1,3 @@ +base referer +rect $main_8hcc.html 8,7 82,34 +rect $smartmedia_8hcc.html 106,7 224,34 diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 new file mode 100644 index 0000000..0f51fe8 --- /dev/null +++ b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 @@ -0,0 +1 @@ +a6514b61ed04d96f1fee892121b51cd5 \ No newline at end of file diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png new file mode 100644 index 0000000..dc6420a Binary files /dev/null and b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png differ diff --git a/Graphic_Equalizer/doc/html/tree.html b/Graphic_Equalizer/doc/html/tree.html new file mode 100644 index 0000000..7e534a9 --- /dev/null +++ b/Graphic_Equalizer/doc/html/tree.html @@ -0,0 +1,143 @@ + + + + + + + TreeView + + + + + +
+

Graphic Equalizer

+
+

o*Main Page

+

o+File List

+ +

\*Globals

+
+
+ + diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch-source.html b/Graphic_Equalizer/doc/html/weights__256_8hch-source.html new file mode 100644 index 0000000..7b24314 --- /dev/null +++ b/Graphic_Equalizer/doc/html/weights__256_8hch-source.html @@ -0,0 +1,278 @@ + + +Graphic Equalizer: C:/Project Marcel & Oliver/Graphic_Equalizer/include/weights_256.hch Source File + + + +
Main Page | File List | Globals
+ +

weights_256.hch

00001 #define INTBITS 1
+00002 #define FRACBITS 14
+00003 
+00004 rom signed 16 weight_re[128] = {
+00005         16384,
+00006         16379,
+00007         16364,
+00008         16340,
+00009         16305,
+00010         16261,
+00011         16207,
+00012         16143,
+00013         16069,
+00014         15986,
+00015         15893,
+00016         15791,
+00017         15679,
+00018         15557,
+00019         15426,
+00020         15286,
+00021         15137,
+00022         14978,
+00023         14811,
+00024         14635,
+00025         14449,
+00026         14256,
+00027         14053,
+00028         13842,
+00029         13623,
+00030         13395,
+00031         13160,
+00032         12916,
+00033         12665,
+00034         12406,
+00035         12140,
+00036         11866,
+00037         11585,
+00038         11297,
+00039         11003,
+00040         10702,
+00041         10394,
+00042         10080,
+00043         9760,
+00044         9434,
+00045         9102,
+00046         8765,
+00047         8423,
+00048         8076,
+00049         7723,
+00050         7366,
+00051         7005,
+00052         6639,
+00053         6270,
+00054         5897,
+00055         5520,
+00056         5139,
+00057         4756,
+00058         4370,
+00059         3981,
+00060         3590,
+00061         3196,
+00062         2801,
+00063         2404,
+00064         2006,
+00065         1606,
+00066         1205,
+00067         804,
+00068         402,
+00069         0,
+00070         -402,
+00071         -804,
+00072         -1205,
+00073         -1606,
+00074         -2006,
+00075         -2404,
+00076         -2801,
+00077         -3196,
+00078         -3590,
+00079         -3981,
+00080         -4370,
+00081         -4756,
+00082         -5139,
+00083         -5520,
+00084         -5897,
+00085         -6270,
+00086         -6639,
+00087         -7005,
+00088         -7366,
+00089         -7723,
+00090         -8076,
+00091         -8423,
+00092         -8765,
+00093         -9102,
+00094         -9434,
+00095         -9760,
+00096         -10080,
+00097         -10394,
+00098         -10702,
+00099         -11003,
+00100         -11297,
+00101         -11585,
+00102         -11866,
+00103         -12140,
+00104         -12406,
+00105         -12665,
+00106         -12916,
+00107         -13160,
+00108         -13395,
+00109         -13623,
+00110         -13842,
+00111         -14053,
+00112         -14256,
+00113         -14449,
+00114         -14635,
+00115         -14811,
+00116         -14978,
+00117         -15137,
+00118         -15286,
+00119         -15426,
+00120         -15557,
+00121         -15679,
+00122         -15791,
+00123         -15893,
+00124         -15986,
+00125         -16069,
+00126         -16143,
+00127         -16207,
+00128         -16261,
+00129         -16305,
+00130         -16340,
+00131         -16364,
+00132         -16379
+00133 } with {block = "BlockRAM"};
+00134 
+00135 rom signed 16 weight_im[128] = {
+00136         0,
+00137         -402,
+00138         -804,
+00139         -1205,
+00140         -1606,
+00141         -2006,
+00142         -2404,
+00143         -2801,
+00144         -3196,
+00145         -3590,
+00146         -3981,
+00147         -4370,
+00148         -4756,
+00149         -5139,
+00150         -5520,
+00151         -5897,
+00152         -6270,
+00153         -6639,
+00154         -7005,
+00155         -7366,
+00156         -7723,
+00157         -8076,
+00158         -8423,
+00159         -8765,
+00160         -9102,
+00161         -9434,
+00162         -9760,
+00163         -10080,
+00164         -10394,
+00165         -10702,
+00166         -11003,
+00167         -11297,
+00168         -11585,
+00169         -11866,
+00170         -12140,
+00171         -12406,
+00172         -12665,
+00173         -12916,
+00174         -13160,
+00175         -13395,
+00176         -13623,
+00177         -13842,
+00178         -14053,
+00179         -14256,
+00180         -14449,
+00181         -14635,
+00182         -14811,
+00183         -14978,
+00184         -15137,
+00185         -15286,
+00186         -15426,
+00187         -15557,
+00188         -15679,
+00189         -15791,
+00190         -15893,
+00191         -15986,
+00192         -16069,
+00193         -16143,
+00194         -16207,
+00195         -16261,
+00196         -16305,
+00197         -16340,
+00198         -16364,
+00199         -16379,
+00200         -16384,
+00201         -16379,
+00202         -16364,
+00203         -16340,
+00204         -16305,
+00205         -16261,
+00206         -16207,
+00207         -16143,
+00208         -16069,
+00209         -15986,
+00210         -15893,
+00211         -15791,
+00212         -15679,
+00213         -15557,
+00214         -15426,
+00215         -15286,
+00216         -15137,
+00217         -14978,
+00218         -14811,
+00219         -14635,
+00220         -14449,
+00221         -14256,
+00222         -14053,
+00223         -13842,
+00224         -13623,
+00225         -13395,
+00226         -13160,
+00227         -12916,
+00228         -12665,
+00229         -12406,
+00230         -12140,
+00231         -11866,
+00232         -11585,
+00233         -11297,
+00234         -11003,
+00235         -10702,
+00236         -10394,
+00237         -10080,
+00238         -9760,
+00239         -9434,
+00240         -9102,
+00241         -8765,
+00242         -8423,
+00243         -8076,
+00244         -7723,
+00245         -7366,
+00246         -7005,
+00247         -6639,
+00248         -6270,
+00249         -5897,
+00250         -5520,
+00251         -5139,
+00252         -4756,
+00253         -4370,
+00254         -3981,
+00255         -3590,
+00256         -3196,
+00257         -2801,
+00258         -2404,
+00259         -2006,
+00260         -1606,
+00261         -1205,
+00262         -804,
+00263         -402,
+00264 } with {block = "BlockRAM"};
+

Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer by  + +doxygen 1.3.9.1
+ + diff --git a/Graphic_Equalizer/include/mouse.hch b/Graphic_Equalizer/include/mouse.hch index f6ae164..ac26bbf 100644 --- a/Graphic_Equalizer/include/mouse.hch +++ b/Graphic_Equalizer/include/mouse.hch @@ -1,4 +1,4 @@ -/*! \file mousedriver.hch +/*! \file mouse.hch * * \section generic Mousedriver API * diff --git a/Graphic_Equalizer/include/mouse_shared.hch b/Graphic_Equalizer/include/mouse_shared.hch index 598d60b..09c5021 100644 --- a/Graphic_Equalizer/include/mouse_shared.hch +++ b/Graphic_Equalizer/include/mouse_shared.hch @@ -1,4 +1,4 @@ -/*! \file mousedriver_shared.hch +/*! \file mouse_shared.hch * * \section generic Shared definitions etc. * diff --git a/Graphic_Equalizer/include/sample.hch b/Graphic_Equalizer/include/sample.hch deleted file mode 100644 index 27b4733..0000000 --- a/Graphic_Equalizer/include/sample.hch +++ /dev/null @@ -1,40 +0,0 @@ -/*! \file sample.hch - * - * \section generic Mousedriver API - * - * \section project Project information. - * Project Graphic Equalizer\n - * \author O.M. Schinagl - * \date 20041011 - * \version 0.1 - * - * \section copyright Copyright - * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved - * - * \section history Change history - * 20041011: O.M. Schinagl\n Initial version - * - ********************************************************************/ - -#ifndef _SAMPLE_HCH -#define _SAMPLE_HCH 1 - - - -/* - * This procedure adds the supplied sample to the input buffer. - */ -void sample_add(in_sample); - - - -/* - * This procedure rotates our buffers around if 64 samples are read into our - * current buffer. It returns 1 when 64 samples have passed, 0 otherwise. - */ -unsigned 1 sample_rotate_buffers(void); - -#else -#error "ERROR file sample.hch multiple times included" -#endif /* --- _SAMPLE_HCH --- */ - diff --git a/Graphic_Equalizer/src/audio.hcc b/Graphic_Equalizer/src/audio.hcc index ef8b530..34e0ffe 100644 --- a/Graphic_Equalizer/src/audio.hcc +++ b/Graphic_Equalizer/src/audio.hcc @@ -1,17 +1,17 @@ -/*! \file audio.hcc +/*! @file audio.hcc * - * \section generic Audio init and main loop + * @section generic Audio init and main loop * - * \section project Project information. + * @section project Project information. * Project Graphic Equalizer\n - * \author - * \date 20041011 - * \version 0.1 + * @author O.M. Schinagl + * @date 20041011 + * @version 0.1 * - * \section copyright Copyright + * @section copyright Copyright * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved * - * \section history Change history + * @section history Change history * 20041011: \n Initial version * ********************************************************************/ @@ -27,15 +27,14 @@ -/*! \fn void audio_init(gain_level, input_source, - * sample_rate, AUDIOIN, AUDIOOUT) +/*! \fn macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) * * \brief Set some inital values to the audio hardware. * - * \param gain_level Set the input amplifier to this - * amplification level. - * \param input_source Choose between microphone input - * or linein input + * \param gain_level Set the input amplifier to this amplification + * level. + * \param input_source Choose between microphone input or linein + * input. * \param sample_rate Set the sample rate between 8000 * and 48000 * @@ -58,19 +57,20 @@ macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) #if !USE_RUNFFT -/*! \fn void audio_main(AUDIOIN, AUDIOOUT); +/*! @fn macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT); * - * \brief Main audiodriver. This function never returns! It calls the + * @brief Main audiodriver. This function never returns! It calls the * audiohandlers and stores samples into a global array. Once 64 * Samples are collected it raises a signal AUDIO_READY to let * other processes know it's ready. We use quadruple buffering for * audio input and double buffering for audio output. - * - * \param AUDIOIN Audio Input Handler - * \param AUDIOOUT Audio Output Handler * - * \return Never Returns. - * \retval void + * @param *audiodata pointer to audio information structure. + * @param AUDIOIN Audio Input Handler + * @param AUDIOOUT Audio Output Handler + * + * @return Never Returns. + * @retval void */ macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT) { /* diff --git a/Graphic_Equalizer/src/display.hcc b/Graphic_Equalizer/src/display.hcc index 98145a8..8aafea4 100644 --- a/Graphic_Equalizer/src/display.hcc +++ b/Graphic_Equalizer/src/display.hcc @@ -48,14 +48,15 @@ chan unsigned 1 maskupdate_notification; -/*! \fn void display_main(skindata_t *skindata, audiodata_t *audiodata, - * events_t *events, mousedata_t *mousedata) +/*! \fn void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) * * \brief This routine handles all drawing of pixels. It never returns! * - * \param events_t *events struct with all events. - * \param mousedata_t *mousedata struct with coordinates to current - * X en Y. + * \param *skindata struct with all skin information. + * \param *audiodata struct with (i)fft data to be drawn. + * \param *events struct with all events. + * \param *mousedata struct with coordinates to current. + * X en Y. * * \return Never Returns. * \retval void @@ -321,14 +322,14 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events -/*! \fn void reload_equalizer(events_t *events, - * unsigned 4 *equalizer_levels) +/*! \fn void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels) + * \brief This function copies the supplied equalizer values to the array * used for displaying equalizer data. * - * \param events_t *events events struct - * \param unsigned 4 *equalizer_levels pointer to 128 entries where - * equalizer is to be copied from. + * \param *events events struct + * \param *equalizer_levels pointer to 128 entries where equalizer + * is to be copied from. * * \return void * \retval void diff --git a/Graphic_Equalizer/src/eventhandler.hcc b/Graphic_Equalizer/src/eventhandler.hcc index ab59322..6526618 100644 --- a/Graphic_Equalizer/src/eventhandler.hcc +++ b/Graphic_Equalizer/src/eventhandler.hcc @@ -49,12 +49,13 @@ static rom unsigned 3 equalizer_mode_table[5] = {EQUALIZERMODE_CONVEX_FULL, EQUA -/*! \fn void eventhandler_main(audiodata_t *audiodata, - * events_t *events, mousedata_t *mousedata); +/*! \fn void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata); * \brief * - * \param events_t *events pointer to struct with all events-> - * \param mousedata_t *mousedata pointer to struct with mouse data. + * \param *audiodata pointer to struct for setting equalizer levels. + * \param *events pointer to struct with all events for display states. + * \param *mousedata pointer to struct with mouse data for X and Y + * coordinates. * * \return Never Returns. * \retval void diff --git a/Graphic_Equalizer/src/events.hcc b/Graphic_Equalizer/src/events.hcc index 9424392..3772193 100644 --- a/Graphic_Equalizer/src/events.hcc +++ b/Graphic_Equalizer/src/events.hcc @@ -34,13 +34,14 @@ #endif -/*! \fn void load_preset(unsigned 20 preset_address, - * unsigned 4 *equalizer_levels); +/*! \fn void load_preset(unsigned 20 preset_address, unsigned 4 *equalizer_levels); * \brief This function loads 768 4bits presets into the equalizer_levels * array pointed to by equalizer_levels. * - * \param unsigned 20 PL2Ram address where preset to be loaded is. - * \param unsigned 4 * Pointer to preset location. + * \param preset_address PL2Ram address where preset to be + * loaded is. + * \param *equalizer_levels Location where to store presets loaded + * from ram. * * \return void * \retval void diff --git a/Graphic_Equalizer/src/main.hcc b/Graphic_Equalizer/src/main.hcc index 3593637..91509fc 100644 --- a/Graphic_Equalizer/src/main.hcc +++ b/Graphic_Equalizer/src/main.hcc @@ -1,4 +1,3 @@ - /*! \file main.hcc * * \section generic Message build up information and more @@ -46,8 +45,6 @@ /*! \fn void main(void); * \brief Main Application Loop. * - * \param void - * * \return void * \retval void */ diff --git a/Graphic_Equalizer/src/mouse.hcc b/Graphic_Equalizer/src/mouse.hcc index 0469fda..61ce619 100644 --- a/Graphic_Equalizer/src/mouse.hcc +++ b/Graphic_Equalizer/src/mouse.hcc @@ -1,4 +1,4 @@ -/*! \file mousedriver.hcc +/*! \file mouse.hcc * * \section generic This module takes care of mouse input. The mouse * input function itself is however performed by the @@ -38,9 +38,9 @@ /*! \fn void mouse_main(mousedata_t *mousedata); * \brief Main mousedriver. This function never returns! It calls the * main mousehandler and returns the States and coordinates - * into the shared mpram. + * into a shared store. * - * \param void None. + * \param *mousedata Storage for all mousedata and states. * * \return Never Returns. * \retval void diff --git a/Graphic_Equalizer/src/sample.hcc b/Graphic_Equalizer/src/sample.hcc deleted file mode 100644 index 000baf9..0000000 --- a/Graphic_Equalizer/src/sample.hcc +++ /dev/null @@ -1,106 +0,0 @@ -/*! \file sample.hcc - * - * \section generic Handle audio sampling and buffer rotation. - * - * \section project Project information. - * Project Graphic Equalizer\n - * \author O.M. Schinagl - * \date 20041021 - * \version 0.1 - * - * \section copyright Copyright - * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved - * - * \section history Change history - * 20041021: O.M. Schinagl\n Initial version - * - ********************************************************************/ - -/******** System Includes *************/ - -/******** Application Includes ********/ -#include "sample.hch" - - - -/* - * Pointer that points towards the current 64 bits samples. - */ -signed 16 *audio_in_ptr; - -/* - * 64 step counter to keep track of our samples. This is a private variable. - */ -unsigned 8 sample_count; - - - -/*! \fn void sample_add(signed 16 in_sample); - * \brief This procedure adds the supplied sample to the input buffer. - * - * \param signed 16 in_sample 16 bits signed sample to be added. - * - * \return void - * \retval void - */ -void sample_add(signed 16 in_sample) { - /* - * We only sample 64 bits in our buffer, hence we circulate around the - * last 6 bits. - */ - audio_in_ptr[sample_count <-6] = in_sample; - sample_count++; -} /* --- sample_add() --- */ - - - -/*! \fn void sample_get(signed 16 *out_sample); - * \brief This procedure gets the sample from the current output buffer. - * - * \param * in_sample pointer to storage for sample. - * - * \return void - * \retval void - */ -void sample_get(signed 16 *out_sample) { - /* - * We circulate around a 64 bits buffer, therefor we only use the last - * 6 bits. - */ - *out_sample = audio_out_ptr[sample_count <-6]; -} /* --- sample_get() --- */ - - - -/*! \fn unsigned 1 sample_rotate_buffers(void); - * \brief This procedure rotates our buffers around if 64 samples are - * read into our current buffer. - * - * \param in_sample 16 bits signed sample to be added. - * - * \return 1 when 64 samples have passed, 0 otherwise. - * \retval unsigned 1; - */ -unsigned 1 sample_rotate_buffers(void) { - unsigned 1 retval; /* store for returnvalue */ - - retval = 0; - /* - * We only want to read 64 samples, but calculations work nicer if we - * use 256 samples. Therefor we circulate our audio pointer around. - */ - if (!(sample_count <- 6)) { - /* - * 64 Samples have passed. We are back at '0'. Use the full - * sample count as index which is 0 64 128 or 192 and back to - * 0. Our Output is only 128 big so we only look at the - * 7 LSB. Also, notify the main application that 64 samples - * have been processed. - */ - par { - audio_in_ptr = &pcm_audio_in[sample_count]; - audio_out_ptr = &pcm_audio_out[(sample_count <- 7)]; - retval = 1; - } - } -} /* --- sample_rotate_buffers() --- */ diff --git a/Graphic_Equalizer/src/smartmedia.hcc b/Graphic_Equalizer/src/smartmedia.hcc index efc0e3d..757cc17 100644 --- a/Graphic_Equalizer/src/smartmedia.hcc +++ b/Graphic_Equalizer/src/smartmedia.hcc @@ -35,12 +35,10 @@ #include "eventhandler_shared.hch" #include "display.hch" /* FIXME: temporary include, needs to be moved to 'init' */ -/*! \fn unsigned 1 smartmedia_init(void); +/*! \fn unsigned 1 smartmedia_init(void); * \brief We here initialize the Smart Media card and verify wether the * card is inserted and such. * - * \param void None. - * * \return We return 0 on success, 1 on error. * \retval unsigned 1 */ @@ -65,7 +63,7 @@ unsigned 1 smartmedia_init(void) { /*! \fn void smartmedia_loaddata(skindata_t *skindata); * \brief We load our memory with skin and help data from the smartmedia. * - * \param skindata_t *skindata pointer to skindata struct. + * \param *skindata skindata like boundries and colors of elements. * * \return void * \retval void -- cgit v0.12