T35 Low power difficulties / Snooze library example does not compile and unexplained

Paul_M

Member
I am trying to use REDUCED_CPU_BLOCK from Duff's Snooze library and it simply does not work.

While the differences in functionality between sleep(), deepSleep(), and hibernate() are left as an unexplained mystery, not disclosed anywhere on https://github.com/duff2013/Snooze, I am still certain that the reduced 2mhz CPU block is what I'm looking for, because my application requires me to use the FreqMeasureMulti library to capture, timestamp, and save to SD card every single digital pulse that I receive from a device, and I believe a lot of power can be saved by passively buffering this incoming pulse data, and then only occasionally processing the FreqMeasureMulti buffer/writing to SD (that is my hope).

The Snooze-master\examples\reduced_cpu_block\simple\simple.ino example fails to compile for Teensy 3.5 on Teensyduino 1.52/Arduino 1.8.11.

The Snooze library REDUCED_CPU_BLOCK example code itself fails to compile, because any and all usage of REDUCED_CPU_BLOCK anywhere gives me the following error:
sssss
Code:
In file included from C:\Users\User\Documents\Arduino\libraries\Snooze-master\src/Snooze.h:41:0,

                 from C:\Users\User\Documents\Arduino\libraries\Snooze-master\examples\reduced_cpu_block\simple\simple.ino:9:

simple: In function 'void loop()':
C:\Users\User\Documents\Arduino\libraries\Snooze-master\src/hal/TEENSY_35/hal.h:36:45: error: 'set_runlp' was not declared in this scope

 for ( TYPE __ToDo = set_runlp( SNOOZE_BLOCK );  __ToDo;  __ToDo = set_run( SNOOZE_BLOCK ) )

                                             ^

C:\Users\User\Documents\Arduino\libraries\Snooze-master\examples\reduced_cpu_block\simple\simple.ino:23:5: note: in expansion of macro 'REDUCED_CPU_BLOCK'

     REDUCED_CPU_BLOCK(dummyConfig) {

     ^

C:\Users\User\Documents\Arduino\libraries\Snooze-master\src/hal/TEENSY_35/hal.h:36:89: error: 'set_run' was not declared in this scope

 for ( TYPE __ToDo = set_runlp( SNOOZE_BLOCK );  __ToDo;  __ToDo = set_run( SNOOZE_BLOCK ) )

                                                                                         ^

C:\Users\User\Documents\Arduino\libraries\Snooze-master\examples\reduced_cpu_block\simple\simple.ino:23:5: note: in expansion of macro 'REDUCED_CPU_BLOCK'

     REDUCED_CPU_BLOCK(dummyConfig) {

     ^

Error compiling for board Teensy 3.5.

Why would the up-to-date Snooze library as download and installed today make calls to set_runlp() and set_run() functions which do not exist?

Is it possible to make this functionality work?
 
Back
Top