diff options
author | Dave Hylands <dhylands@gmail.com> | 2014-09-26 09:04:05 -0700 |
---|---|---|
committer | Dave Hylands <dhylands@gmail.com> | 2014-09-27 19:40:37 -0700 |
commit | 39296b40d49b4b6b9373a80de67e017e540f1408 (patch) | |
tree | d622afcf1e1620b17444201f8cbc9d030e2f39ed /extmod | |
parent | b766e79510d87db1b18028a0fae3f195091fcaf1 (diff) | |
download | micropython-39296b40d49b4b6b9373a80de67e017e540f1408.tar.gz micropython-39296b40d49b4b6b9373a80de67e017e540f1408.zip |
Fix timer overflow code.
Teensy doesn't need to worry about overflows since all of
its timers are only 16-bit.
For PWM, the pulse width needs to be able to vary from 0..period+1
(pulse-width == period+1 corresponds to 100% PWM)
I couldn't test the 0xffffffff cases since we can't currently get a
period that big in python. With a prescaler of 0, that corresponds
to a freq of 0.039 (i.e. cycle every 25.56 seconds), and we can't
set that using freq or period.
I also tested both stmhal and teensy with floats disabled, which
required a few other code changes to compile.
Diffstat (limited to 'extmod')
-rw-r--r-- | extmod/moductypes.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/extmod/moductypes.c b/extmod/moductypes.c index 73a8db7cc0..3e35ed682a 100644 --- a/extmod/moductypes.c +++ b/extmod/moductypes.c @@ -309,10 +309,12 @@ STATIC mp_obj_t get_aligned(uint val_type, void *p, mp_int_t index) { case UINT64: case INT64: return mp_obj_new_int_from_ll(((int64_t*)p)[index]); + #if MICROPY_PY_BUILTINS_FLOAT case FLOAT32: return mp_obj_new_float(((float*)p)[index]); case FLOAT64: return mp_obj_new_float(((double*)p)[index]); + #endif default: assert(0); return MP_OBJ_NULL; |