Jelajahi Sumber

v2.2.1 - Integration with platformio

- Integration with platformio
- Explicit declaration of support for esp8266 in readme
Anatoli Arkhipenko 9 tahun lalu
induk
melakukan
7fc3ceaac8
2 mengubah file dengan 52 tambahan dan 31 penghapusan
  1. 30 31
      README
  2. 22 0
      library.json

+ 30 - 31
README

@@ -1,9 +1,9 @@
-Task Scheduler – cooperative multitasking for Arduino microcontrollers
+Task Scheduler – cooperative multitasking for Arduino and ESP8266 microcontrollers
 Version 2.2.1: 2016-12-20
 
 If you find TaskScheduler useful for your Arduino project, please drop me an email: arkhipenko@hotmail.com
 ----------------------------------------------------------------------------------------------------------
-  
+
 OVERVIEW:
  A lightweight implementation of cooperative multitasking (task scheduling) supporting:
  1. Periodic task execution (with dynamic execution period in milliseconds or microseconds)
@@ -16,19 +16,19 @@ OVERVIEW:
  8. Local Task Storage pointer (allowing use of same callback code for multiple tasks)
  9. Layered task prioritization
 
-Scheduling overhead: between 15 and 18 microseconds per scheduling pass (check the banchmark example).
+Scheduling overhead: between 15 and 18 microseconds per scheduling pass (check the benchmark example).
 
 For detailed functionality overview please refer to TaskScheduler documentation in the 'extras' folder.
 =======================================================================================================
 
 Check out what TaskScheduler can do:
 ====================================
-  Endeavor - build a space capable craft, with the ability to maneuver both in and out of atmosphere. 
+  Endeavor - build a space capable craft, with the ability to maneuver both in and out of atmosphere.
     (by Radical Space Technologies
      http://radicalspacetechnologies.com/2015/10/01/endeavor-phase-i/
 
-         "So after some digging I found TaskScheduler an awesome little library developed by Anatoli Arkhipenko, 
-          his github is here and the documentation is here. Its fantastic, so far I’ve been able to replicate 
+         "So after some digging I found TaskScheduler an awesome little library developed by Anatoli Arkhipenko,
+          his github is here and the documentation is here. Its fantastic, so far I’ve been able to replicate
           some things I’ve seen in Ardupilot. ..."
   link: http://radicalspacetechnologies.com/2015/10/25/endeavors-code-definitely-progress/
 
@@ -38,32 +38,32 @@ Check out what TaskScheduler can do:
 
 
   Houston midi clock project - TaskScheduler with microseconds resolution
-    (by chaffneue: My first arduino project. It's a multi-master midi controller with a shared clock and 
+    (by chaffneue: My first arduino project. It's a multi-master midi controller with a shared clock and
      auto count in behaviour. Project files on github: https://github.com/chaffneue/houston
 	 youtube: https://www.youtube.com/watch?v=QRof550TtXo)
 
-	  
+
   Hackabot Nano -  Compact Plug and Play Arduino compatible robotic kit
     (by Funnyvale: http://hackarobot.com/
      also: https://www.kickstarter.com/projects/hackarobot/hackabot-nano-compact-plug-and-play-arduino-robot)
 
-     
-  Arduino Nano based Hexbug Scarab Robotic Spider 
+
+  Arduino Nano based Hexbug Scarab Robotic Spider
     (by arkhipenko: http://www.instructables.com/id/Arduino-Nano-based-Hexbug-Scarab-Robotic-Spider/)
 
-	
+
   Wave your hand to control OWI Robotic Arm... no strings attached
     (by arkhipenko: http://www.instructables.com/id/Wave-your-hand-to-control-OWI-Robotic-Arm-no-strin/)
-	
+
 
   APIS - Automated Plant Irrigation System
     (by arkhipenko: http://www.instructables.com/id/APIS-Automated-Plant-Irrigation-System/)
 
-  
+
   IoT APIS v2 - Autonomous IoT-enabled Automated Plant Irrigation System
     (by arkhipenko: http://www.instructables.com/id/IoT-APIS-V2-Autonomous-IoT-enabled-Automated-Plant/)
-	
-  
+
+
   Interactive Halloween Pumpkin
     (by arkhipenko: http://www.instructables.com/id/Interactive-Halloween-Pumpkin/)
 
@@ -73,8 +73,8 @@ Changelog:
 v2.2.1:
     2016-11-30 - inlined constructors. Added "yield()" and "yieldOnce()" functions to easily break down and
 				 chain back together long running callback methods
-    2016-12-16 - added "getCount()" to StatusRequest objects, made every task StatusRequest enabled. 
-                 Internal StatusRequest objects are accessible via "getInternalStatusRequest()" method. 
+    2016-12-16 - added "getCount()" to StatusRequest objects, made every task StatusRequest enabled.
+                 Internal StatusRequest objects are accessible via "getInternalStatusRequest()" method.
 
 v2.2.0:
     2016-11-17 - all methods made 'inline' to support inclusion of TaskSchedule.h file into other header files
@@ -92,15 +92,15 @@ v2.0.0:
 v1.9.2:
     2015-11-28 - _TASK_ROLLOVER_FIX is deprecated (not necessary)
     2015-12-16 - bug fixes: automatic millis rollover support for delay methods
-    2015-12-17 - new method for _TASK_TIMECRITICAL option: getStartDelay() 
-	
+    2015-12-17 - new method for _TASK_TIMECRITICAL option: getStartDelay()
+
 v1.9.0:
     2015-11-24 - packed three byte-long status variables into one byte-long bit array structure data type - saving 2 bytes per each task instance
 
 v1.8.5:
     2015-11-23 - bug fix: incorrect calculation of next task invocation in case callback changed the interval
     2015-11-23 - bug fix: Task::set() method calls setInterval() explicitly, therefore delaying the task in the same manner
-	
+
 v1.8.4:
     2015-11-15 - bug fix: Task alignment with millis() for scheduling purposes should be done after OnEnable, not before. Especially since OnEnable method can change the interval
 
@@ -116,17 +116,17 @@ v1.8.2:
     2015-10-27 - bug: currentTask() method returns incorrect Task reference if called within OnEnable and OnDisable methods
     2015-10-27 - protection against infinite loop in OnEnable (if enable() methods are called within OnEnable)
     2015-10-29 - new currentLts() method in the scheduler class returns current task's LTS pointer in one call
-	
+
 v1.8.1:
     2015-10-22 - implement Task id and control points to support identification of failure points for watchdog timer logging
-	
+
 v1.8.0:
     2015-10-13 - support for status request objects allowing tasks waiting on requests
     2015-10-13 - moved to a single header file to allow compilation control via #defines from the main sketch
 
 v1.7.0:
-    2015-10-08 - introduced callback run counter - callback functions can branch on the iteration number. 
-    2015-10-11 - enableIfNot() - enable a task only if it is not already enabled. Returns true if was already enabled, false if was disabled. 
+    2015-10-08 - introduced callback run counter - callback functions can branch on the iteration number.
+    2015-10-11 - enableIfNot() - enable a task only if it is not already enabled. Returns true if was already enabled, false if was disabled.
     2015-10-11 - disable() returns previous enable state (true if was enabled, false if was already disabled)
     2015-10-11 - introduced callback functions "on enable" and "on disable". On enable runs every time enable is called, on disable runs only if task was enabled
     2015-10-12 - new Task method: forceNextIteration() - makes next iteration happen immediately during the next pass regardless how much time is left
@@ -137,25 +137,24 @@ v1.6.0:
     2015-10-01 - made version numbers semver compliant (documentation only)
 
 v1.5.1:
-    2015-09-21 - bug fix: incorrect handling of active tasks via set() and setIterations(). 
+    2015-09-21 - bug fix: incorrect handling of active tasks via set() and setIterations().
 		 		 Thanks to Hannes Morgenstern for catching this one
-				 
+
 v1.5.0:
     2015-09-20 - access to currently executing task (for callback functions)
     2015-09-20 - pass scheduler as a parameter to the task constructor to append the task to the end of the chain
     2015-09-20 - option to create a task already enabled
-	
+
 v1.4.1:
     2015-09-15 - more careful placement of AVR-specific includes for sleep functions (compatibility with DUE)
                          sleep on idle run is no longer a default and should be explicitly compiled with _TASK_SLEEP_ON_IDLE_RUN defined
-						 
+
 v1.0.0:
-    2015-02-24 - Initial release 
+    2015-02-24 - Initial release
     2015-02-28 - added delay() and disableOnLastIteration() functions
     2015-03-25 - changed scheduler execute() function for a more precise delay calculation:
                  1. Do not delay if any of the tasks ran (making request for immediate execution redundant)
-                 2. Delay is invoked only if none of the tasks ran 
+                 2. Delay is invoked only if none of the tasks ran
                  3. Delay is based on the min anticipated wait until next task _AND_ the runtime of execute function itself.
     2015-05-11 - added  restart() and restartDelayed() functions to restart tasks which are on hold after running all iterations
     2015-05-19 - completely removed  delay from the scheduler since there are no power saving there. using 1 ms sleep instead
-

+ 22 - 0
library.json

@@ -0,0 +1,22 @@
+{
+  "name": "TaskScheduler",
+  "keywords": "multitasking, cooperative, event, task, taskscheduler, scheduling",
+  "description": "Cooperative multitasking for Arduino and ESP8266 microcontrollers",
+  "repository":
+  {
+    "type": "git",
+    "url": "https://github.com/arkhipenko/TaskScheduler"
+  },
+  "authors":
+  [
+    {
+      "name": "Anatoli Arkhipenko",
+      "email": "arkhipenko@hotmail.com",
+      "url": "https://github.com/arkhipenko",
+      "maintainer": true
+    }
+  ],
+  "version": "2.2.1",
+  "frameworks": "arduino",
+  "platforms": "*"
+}