Jose M Pulido
/
razor
SerialRazor.cpp@0:87f191bdb9ab, 2010-10-12 (annotated)
- Committer:
- triff
- Date:
- Tue Oct 12 13:26:58 2010 +0000
- Revision:
- 0:87f191bdb9ab
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
triff | 0:87f191bdb9ab | 1 | |
triff | 0:87f191bdb9ab | 2 | #include "mbed.h" |
triff | 0:87f191bdb9ab | 3 | #include "SerialRazor.h" |
triff | 0:87f191bdb9ab | 4 | |
triff | 0:87f191bdb9ab | 5 | SerialRazor::SerialRazor( size_t bufferSize, PinName tx, PinName rx ) : Serial( tx, rx ) { |
triff | 0:87f191bdb9ab | 6 | |
triff | 0:87f191bdb9ab | 7 | Serial::baud(57600); |
triff | 0:87f191bdb9ab | 8 | attach( this, &SerialRazor::handleInterrupt ); |
triff | 0:87f191bdb9ab | 9 | m_buff = (char *) malloc( bufferSize ); |
triff | 0:87f191bdb9ab | 10 | m_buffSize = bufferSize; |
triff | 0:87f191bdb9ab | 11 | } |
triff | 0:87f191bdb9ab | 12 | |
triff | 0:87f191bdb9ab | 13 | |
triff | 0:87f191bdb9ab | 14 | |
triff | 0:87f191bdb9ab | 15 | SerialRazor::~SerialRazor() |
triff | 0:87f191bdb9ab | 16 | { |
triff | 0:87f191bdb9ab | 17 | if( m_buff ) |
triff | 0:87f191bdb9ab | 18 | free( m_buff ); |
triff | 0:87f191bdb9ab | 19 | } |
triff | 0:87f191bdb9ab | 20 | |
triff | 0:87f191bdb9ab | 21 | void SerialRazor::handleInterrupt() |
triff | 0:87f191bdb9ab | 22 | { |
triff | 0:87f191bdb9ab | 23 | |
triff | 0:87f191bdb9ab | 24 | while( Serial::readable()) |
triff | 0:87f191bdb9ab | 25 | { |
triff | 0:87f191bdb9ab | 26 | for(int i=0; i< m_buffSize; i++) { |
triff | 0:87f191bdb9ab | 27 | m_buff[i] = Serial::getc(); |
triff | 0:87f191bdb9ab | 28 | if(m_buff[i] == '\n') { |
triff | 0:87f191bdb9ab | 29 | m_buff[i] = 0; |
triff | 0:87f191bdb9ab | 30 | sscanf(m_buff,"!ANG:%f,%f,%f", &roll, &pitch, &yaw); |
triff | 0:87f191bdb9ab | 31 | return; |
triff | 0:87f191bdb9ab | 32 | } |
triff | 0:87f191bdb9ab | 33 | } |
triff | 0:87f191bdb9ab | 34 | |
triff | 0:87f191bdb9ab | 35 | } |
triff | 0:87f191bdb9ab | 36 | } |
triff | 0:87f191bdb9ab | 37 | |
triff | 0:87f191bdb9ab | 38 | |
triff | 0:87f191bdb9ab | 39 | |
triff | 0:87f191bdb9ab | 40 | float SerialRazor::getRoll(void){ |
triff | 0:87f191bdb9ab | 41 | |
triff | 0:87f191bdb9ab | 42 | return roll; |
triff | 0:87f191bdb9ab | 43 | |
triff | 0:87f191bdb9ab | 44 | } |
triff | 0:87f191bdb9ab | 45 | |
triff | 0:87f191bdb9ab | 46 | float SerialRazor::getPitch(void){ |
triff | 0:87f191bdb9ab | 47 | |
triff | 0:87f191bdb9ab | 48 | return pitch; |
triff | 0:87f191bdb9ab | 49 | |
triff | 0:87f191bdb9ab | 50 | } |
triff | 0:87f191bdb9ab | 51 | |
triff | 0:87f191bdb9ab | 52 | float SerialRazor::getYaw(void){ |
triff | 0:87f191bdb9ab | 53 | |
triff | 0:87f191bdb9ab | 54 | return yaw; |
triff | 0:87f191bdb9ab | 55 | |
triff | 0:87f191bdb9ab | 56 | } |
triff | 0:87f191bdb9ab | 57 |