Merge da SC: spostata bld_set inline perché si ottimizza parecchio tramite propagazio...
authorrasky <rasky@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 14 Jul 2004 14:04:29 +0000 (14:04 +0000)
committerrasky <rasky@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 14 Jul 2004 14:04:29 +0000 (14:04 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@46 38d2e660-2303-0410-9eaa-f027e97ec537

drv/buzzerled.c
drv/buzzerled.h

index 2aa7b15967ea940c4708868f2024c10c29d5dbe1..cc320905b82a7993f0fe95bfc25c1659403096c6 100755 (executable)
@@ -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.
  *
 #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];
index dd3d8697b9bbd7fb9bf1d154a7f810e704f2f953..ec1c65309615fc0b9865de774ed13c40513c5840 100755 (executable)
@@ -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.
  *
  */
 #include <hw.h>
 
+
+/* 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
  *