aboutsummaryrefslogtreecommitdiff
path: root/tk-delay.h
diff options
context:
space:
mode:
authorSelene ToyKeeper2017-03-16 04:06:34 -0600
committerSelene ToyKeeper2017-03-16 04:06:34 -0600
commita660cd1a09be8960a992801a4bd628c6a50f701d (patch)
tree665a9cda148d70f677e64b84e2976234ea6646b0 /tk-delay.h
parentmerged trunk (diff)
downloadanduril-a660cd1a09be8960a992801a4bd628c6a50f701d.tar.gz
anduril-a660cd1a09be8960a992801a4bd628c6a50f701d.tar.bz2
anduril-a660cd1a09be8960a992801a4bd628c6a50f701d.zip
Added _delay_4ms() stuff, to save space on projects which need a few bytes more than they need millisecond delay precision.
(may break other projects unless I add a different way to enable the code, beware)
Diffstat (limited to 'tk-delay.h')
-rw-r--r--tk-delay.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/tk-delay.h b/tk-delay.h
index 324077a..e62aa4c 100644
--- a/tk-delay.h
+++ b/tk-delay.h
@@ -23,6 +23,7 @@
#ifdef OWN_DELAY
#include "tk-attiny.h"
#include <util/delay_basic.h>
+#ifdef USE_DELAY_MS
// Having own _delay_ms() saves some bytes AND adds possibility to use variables as input
void _delay_ms(uint16_t n)
{
@@ -37,15 +38,27 @@ void _delay_ms(uint16_t n)
while(n-- > 0) _delay_loop_2(BOGOMIPS);
//#endif
}
+#endif
#ifdef USE_FINE_DELAY
void _delay_zero() {
_delay_loop_2(BOGOMIPS/3);
}
#endif
+#ifdef USE_DELAY_4MS
+void _delay_4ms(uint8_t n) // because it saves a bit of ROM space to do it this way
+{
+ while(n-- > 0) _delay_loop_2(BOGOMIPS*4);
+}
+#endif
#ifdef USE_DELAY_S
void _delay_s() // because it saves a bit of ROM space to do it this way
{
+ #ifdef USE_DELAY_MS
_delay_ms(1000);
+ #endif
+ #ifdef USE_DELAY_4MS
+ _delay_4ms(250);
+ #endif
}
#endif
#else