Program to control an accelerometer, motors and a rangefinder using the ScmRTOS ported to mbed. (Work in progress and buggy)

Dependencies:   mbed

Committer:
jberry
Date:
Mon Nov 01 20:39:01 2010 +0000
Revision:
0:9b057566f9ee

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jberry 0:9b057566f9ee 1 #pragma once
jberry 0:9b057566f9ee 2 #ifndef SERIAL_OUT_H
jberry 0:9b057566f9ee 3 #define SERIAL_OUT_H
jberry 0:9b057566f9ee 4 #include <processes.h>
jberry 0:9b057566f9ee 5 #include <Mutexes.h>
jberry 0:9b057566f9ee 6 #include <channels.h>
jberry 0:9b057566f9ee 7 #include <serial.h>
jberry 0:9b057566f9ee 8 //DigitalOut led3(LED3);
jberry 0:9b057566f9ee 9 extern BusOut leds;
jberry 0:9b057566f9ee 10 template<> OS_PROCESS void Serial_Out::Exec() //Output stream handling process
jberry 0:9b057566f9ee 11 {
jberry 0:9b057566f9ee 12
jberry 0:9b057566f9ee 13
jberry 0:9b057566f9ee 14 char temp1 = 0;
jberry 0:9b057566f9ee 15 //led3 = 0;
jberry 0:9b057566f9ee 16 //char buf[50] = "output process working.\n";
jberry 0:9b057566f9ee 17 for(;;)
jberry 0:9b057566f9ee 18 {
jberry 0:9b057566f9ee 19 //Sleep(500);
jberry 0:9b057566f9ee 20 TX_channel.pop(temp1);
jberry 0:9b057566f9ee 21 leds = 0x8;
jberry 0:9b057566f9ee 22 //wait_ms(200); //simulate delays
jberry 0:9b057566f9ee 23 //Sleep(10);
jberry 0:9b057566f9ee 24 //led3 = !led3;
jberry 0:9b057566f9ee 25 //OUT->printf(buf);
jberry 0:9b057566f9ee 26 //if(OUT == &USB)
jberry 0:9b057566f9ee 27 //{
jberry 0:9b057566f9ee 28 //Serial_Mutex.Lock();
jberry 0:9b057566f9ee 29 //XB_Mutex.Lock();
jberry 0:9b057566f9ee 30 if(OUT->writeable())
jberry 0:9b057566f9ee 31 {
jberry 0:9b057566f9ee 32 OUT->putc(temp1);
jberry 0:9b057566f9ee 33
jberry 0:9b057566f9ee 34
jberry 0:9b057566f9ee 35
jberry 0:9b057566f9ee 36
jberry 0:9b057566f9ee 37
jberry 0:9b057566f9ee 38 //XB_Mutex.Unlock();
jberry 0:9b057566f9ee 39 }
jberry 0:9b057566f9ee 40 else
jberry 0:9b057566f9ee 41 {
jberry 0:9b057566f9ee 42 //TX_channel.push_front(temp1);
jberry 0:9b057566f9ee 43 //OUT->printf("output is not writeable!\n");
jberry 0:9b057566f9ee 44 //Sleep(0.5); //sleep
jberry 0:9b057566f9ee 45 }
jberry 0:9b057566f9ee 46 //Serial_Mutex.Unlock();
jberry 0:9b057566f9ee 47 //}
jberry 0:9b057566f9ee 48
jberry 0:9b057566f9ee 49
jberry 0:9b057566f9ee 50
jberry 0:9b057566f9ee 51 leds = 0x8;
jberry 0:9b057566f9ee 52
jberry 0:9b057566f9ee 53 }
jberry 0:9b057566f9ee 54 }
jberry 0:9b057566f9ee 55
jberry 0:9b057566f9ee 56
jberry 0:9b057566f9ee 57 #endif
jberry 0:9b057566f9ee 58
jberry 0:9b057566f9ee 59
jberry 0:9b057566f9ee 60