Add AO_GPS_RUNNING state.
[fw/altos] / README
diff --git a/README b/README
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1244f8492d5db6566fc79cd8a02fe5bb8b0bd61f 100644 (file)
--- a/README
+++ b/README
@@ -0,0 +1,54 @@
+       AltOS - 8051 operating system for Altus-Metrum projects
+
+Copyright and License
+
+       Copyright © 2009 Keith Packard <keithp@keithp.com>
+
+       This program is free software; you can redistribute it and/or modify
+       it under the terms of the GNU General Public License as published by
+       the Free Software Foundation; version 2 of the License.
+
+       This program is distributed in the hope that it will be useful, but
+       WITHOUT ANY WARRANTY; without even the implied warranty of
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+       General Public License for more details.
+
+       You should have received a copy of the GNU General Public License along
+       with this program; if not, write to the Free Software Foundation, Inc.,
+       59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+Parameters:
+
+ * Multi-tasking
+ * Non-preemptive
+ * Unix-style sleep/wakeup scheduling
+ * Strict round-robin, no priorities
+
+API:
+
+       void ao_sleep(void *wchan)
+
+               Puts current task to sleep. Will wake up when wchan is signalled
+       
+       void ao_wakeup(void *wchan)
+
+               Wakeup all tasks sleeping on wchan
+
+       void ao_add_task(struct ao_task *task, void (*start)(void))
+
+               Adds a task to the queue of available tasks
+
+       void ao_start_scheduler(void)
+
+               Invokes the scheduler, starting the operating system
+
+       void ao_yield(void)
+
+               Switches to another task which is ready to run. Allows
+               tasks which want to run for a while to give up the CPU
+               without needing to sleep
+
+       void ao_panic(uint8_t reason)
+
+               Any fatal error should call this function, which can
+               display the error code in some cryptic fashion.