X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=README;h=1244f8492d5db6566fc79cd8a02fe5bb8b0bd61f;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=37e6c9a492a1d51373bf9333fb3172e0c377720f;hpb=9025eb792861930e6af918d2727c4f5d97a69936 diff --git a/README b/README index e69de29b..1244f849 100644 --- a/README +++ b/README @@ -0,0 +1,54 @@ + AltOS - 8051 operating system for Altus-Metrum projects + +Copyright and License + + Copyright © 2009 Keith Packard + + 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.