telemetry
Dependents: Everything Sequential_Timing FixedPWM FixedPWMWill
telemetry-mbed-hal.cpp@0:aca5a32d2759, 2016-03-18 (annotated)
- Committer:
- vsutardja
- Date:
- Fri Mar 18 22:33:32 2016 +0000
- Revision:
- 0:aca5a32d2759
init
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vsutardja | 0:aca5a32d2759 | 1 | /* |
vsutardja | 0:aca5a32d2759 | 2 | * telemetry-mbedo-hal.cpp |
vsutardja | 0:aca5a32d2759 | 3 | * |
vsutardja | 0:aca5a32d2759 | 4 | * Created on: Mar 4, 2015 |
vsutardja | 0:aca5a32d2759 | 5 | * Author: Ducky |
vsutardja | 0:aca5a32d2759 | 6 | * |
vsutardja | 0:aca5a32d2759 | 7 | * Telemetry HAL for Serial on mBed. |
vsutardja | 0:aca5a32d2759 | 8 | */ |
vsutardja | 0:aca5a32d2759 | 9 | |
vsutardja | 0:aca5a32d2759 | 10 | #include "telemetry.h" |
vsutardja | 0:aca5a32d2759 | 11 | |
vsutardja | 0:aca5a32d2759 | 12 | #ifdef TELEMETRY_HAL_MBED |
vsutardja | 0:aca5a32d2759 | 13 | |
vsutardja | 0:aca5a32d2759 | 14 | namespace telemetry { |
vsutardja | 0:aca5a32d2759 | 15 | |
vsutardja | 0:aca5a32d2759 | 16 | void MbedHal::transmit_byte(uint8_t data) { |
vsutardja | 0:aca5a32d2759 | 17 | // TODO: optimize with DMA |
vsutardja | 0:aca5a32d2759 | 18 | if (serial != NULL) { |
vsutardja | 0:aca5a32d2759 | 19 | serial->putc(data); |
vsutardja | 0:aca5a32d2759 | 20 | } |
vsutardja | 0:aca5a32d2759 | 21 | } |
vsutardja | 0:aca5a32d2759 | 22 | |
vsutardja | 0:aca5a32d2759 | 23 | size_t MbedHal::rx_available() { |
vsutardja | 0:aca5a32d2759 | 24 | if (serial != NULL) { |
vsutardja | 0:aca5a32d2759 | 25 | return serial->rxBufferGetCount(); |
vsutardja | 0:aca5a32d2759 | 26 | } else { |
vsutardja | 0:aca5a32d2759 | 27 | return 0; |
vsutardja | 0:aca5a32d2759 | 28 | } |
vsutardja | 0:aca5a32d2759 | 29 | |
vsutardja | 0:aca5a32d2759 | 30 | } |
vsutardja | 0:aca5a32d2759 | 31 | |
vsutardja | 0:aca5a32d2759 | 32 | uint8_t MbedHal::receive_byte() { |
vsutardja | 0:aca5a32d2759 | 33 | if (serial != NULL) { |
vsutardja | 0:aca5a32d2759 | 34 | return serial->getc(); |
vsutardja | 0:aca5a32d2759 | 35 | } else { |
vsutardja | 0:aca5a32d2759 | 36 | return 0; |
vsutardja | 0:aca5a32d2759 | 37 | } |
vsutardja | 0:aca5a32d2759 | 38 | } |
vsutardja | 0:aca5a32d2759 | 39 | |
vsutardja | 0:aca5a32d2759 | 40 | void MbedHal::do_error(const char* msg) { |
vsutardja | 0:aca5a32d2759 | 41 | if (serial != NULL) { |
vsutardja | 0:aca5a32d2759 | 42 | serial->puts(msg); |
vsutardja | 0:aca5a32d2759 | 43 | serial->puts("\r\n"); |
vsutardja | 0:aca5a32d2759 | 44 | } |
vsutardja | 0:aca5a32d2759 | 45 | } |
vsutardja | 0:aca5a32d2759 | 46 | |
vsutardja | 0:aca5a32d2759 | 47 | uint32_t MbedHal::get_time_ms() { |
vsutardja | 0:aca5a32d2759 | 48 | return timer.read_ms(); |
vsutardja | 0:aca5a32d2759 | 49 | } |
vsutardja | 0:aca5a32d2759 | 50 | |
vsutardja | 0:aca5a32d2759 | 51 | } |
vsutardja | 0:aca5a32d2759 | 52 | |
vsutardja | 0:aca5a32d2759 | 53 | #endif |