From 795f9992c2d8ff54910179c532a113e8e8ba44df Mon Sep 17 00:00:00 2001 From: rasky Date: Wed, 14 Jul 2004 14:04:29 +0000 Subject: [PATCH] =?utf8?q?Merge=20da=20SC:=20spostata=20bld=5Fset=20inline?= =?utf8?q?=20perch=C3=A9=20si=20ottimizza=20parecchio=20tramite=20propagaz?= =?utf8?q?ione=20di=20costanti?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://src.develer.com/svnoss/bertos/trunk@46 38d2e660-2303-0410-9eaa-f027e97ec537 --- drv/buzzerled.c | 14 +++----------- drv/buzzerled.h | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/drv/buzzerled.c b/drv/buzzerled.c index 2aa7b159..cc320905 100755 --- a/drv/buzzerled.c +++ b/drv/buzzerled.c @@ -27,6 +27,9 @@ /* * $Log$ + * Revision 1.3 2004/07/14 14:04:29 rasky + * Merge da SC: spostata bld_set inline perché si ottimizza parecchio tramite propagazione di costanti + * * Revision 1.2 2004/06/03 11:27:09 bernie * Add dual-license information. * @@ -38,12 +41,6 @@ #include "buzzerled.h" #include "timer.h" -#if defined(__m56800__) - #include "buzzerled_dsp56k.h" -#else - #error Unsupported architecture -#endif - static struct Timer timers[NUM_BLDS]; static bool timer_go[NUM_BLDS]; @@ -69,11 +66,6 @@ void bld_init(void) bld_hw_init(); } -void bld_set(enum BLD_DEVICE device, bool enable) -{ - bld_hw_set(device, enable); -} - void bld_beep(enum BLD_DEVICE device, uint16_t duration) { struct Timer* t = &timers[device]; diff --git a/drv/buzzerled.h b/drv/buzzerled.h index dd3d8697..ec1c6530 100755 --- a/drv/buzzerled.h +++ b/drv/buzzerled.h @@ -15,6 +15,9 @@ /* * $Log$ + * Revision 1.3 2004/07/14 14:04:29 rasky + * Merge da SC: spostata bld_set inline perché si ottimizza parecchio tramite propagazione di costanti + * * Revision 1.2 2004/06/03 11:27:09 bernie * Add dual-license information. * @@ -32,18 +35,32 @@ */ #include + +/* Include hw-level implementation. This allows inlining of bld_set, which in turns + * should allow fast constant propagation for the common case (where the parameter + * device is a constant). + */ +#if defined(__m56800__) + #include "buzzerled_dsp56k.h" +#else + #error Unsupported architecture +#endif + + /*! Initialize the buzzerled library. * * \note This function must be called before any other function in the library. */ void bld_init(void); + /*! Set or reset a device. * * \param device Device to be set * \param enable Enable/disable status */ -void bld_set(enum BLD_DEVICE device, bool enable); +#define bld_set(device, enable) bld_hw_set(device, enable) + /*! Enable a device for a certain interval of time * -- 2.25.1