telemetry
Dependents: Everything Sequential_Timing FixedPWM FixedPWMWill
telemetry-mbed-hal.h@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 | * HAL header for mbed platforms. DO NOT INCLUDE THIS FILE DIRECTLY. |
vsutardja | 0:aca5a32d2759 | 3 | * Use the automatic platform detection in telemetry.h instead. |
vsutardja | 0:aca5a32d2759 | 4 | */ |
vsutardja | 0:aca5a32d2759 | 5 | |
vsutardja | 0:aca5a32d2759 | 6 | #include "mbed.h" |
vsutardja | 0:aca5a32d2759 | 7 | #include "MODSERIAL.h" |
vsutardja | 0:aca5a32d2759 | 8 | |
vsutardja | 0:aca5a32d2759 | 9 | #include "telemetry-hal.h" |
vsutardja | 0:aca5a32d2759 | 10 | |
vsutardja | 0:aca5a32d2759 | 11 | #ifndef _TELEMETRY_MBED_HAL_ |
vsutardja | 0:aca5a32d2759 | 12 | #define _TELEMETRY_MBED_HAL_ |
vsutardja | 0:aca5a32d2759 | 13 | #define TELEMETRY_HAL |
vsutardja | 0:aca5a32d2759 | 14 | #define TELEMETRY_HAL_MBED |
vsutardja | 0:aca5a32d2759 | 15 | |
vsutardja | 0:aca5a32d2759 | 16 | namespace telemetry { |
vsutardja | 0:aca5a32d2759 | 17 | |
vsutardja | 0:aca5a32d2759 | 18 | class MbedHal : public HalInterface { |
vsutardja | 0:aca5a32d2759 | 19 | public: |
vsutardja | 0:aca5a32d2759 | 20 | MbedHal(MODSERIAL& serial_in) : |
vsutardja | 0:aca5a32d2759 | 21 | serial(&serial_in) { |
vsutardja | 0:aca5a32d2759 | 22 | timer.start(); |
vsutardja | 0:aca5a32d2759 | 23 | } |
vsutardja | 0:aca5a32d2759 | 24 | MbedHal() : |
vsutardja | 0:aca5a32d2759 | 25 | serial(NULL) { |
vsutardja | 0:aca5a32d2759 | 26 | timer.start(); |
vsutardja | 0:aca5a32d2759 | 27 | } |
vsutardja | 0:aca5a32d2759 | 28 | |
vsutardja | 0:aca5a32d2759 | 29 | void set_serial(MODSERIAL& serial_new) { |
vsutardja | 0:aca5a32d2759 | 30 | serial = &serial_new; |
vsutardja | 0:aca5a32d2759 | 31 | } |
vsutardja | 0:aca5a32d2759 | 32 | |
vsutardja | 0:aca5a32d2759 | 33 | virtual void transmit_byte(uint8_t data); |
vsutardja | 0:aca5a32d2759 | 34 | virtual size_t rx_available(); |
vsutardja | 0:aca5a32d2759 | 35 | virtual uint8_t receive_byte(); |
vsutardja | 0:aca5a32d2759 | 36 | |
vsutardja | 0:aca5a32d2759 | 37 | virtual void do_error(const char* message); |
vsutardja | 0:aca5a32d2759 | 38 | |
vsutardja | 0:aca5a32d2759 | 39 | virtual uint32_t get_time_ms(); |
vsutardja | 0:aca5a32d2759 | 40 | |
vsutardja | 0:aca5a32d2759 | 41 | protected: |
vsutardja | 0:aca5a32d2759 | 42 | MODSERIAL* serial; |
vsutardja | 0:aca5a32d2759 | 43 | Timer timer; |
vsutardja | 0:aca5a32d2759 | 44 | }; |
vsutardja | 0:aca5a32d2759 | 45 | |
vsutardja | 0:aca5a32d2759 | 46 | } |
vsutardja | 0:aca5a32d2759 | 47 | |
vsutardja | 0:aca5a32d2759 | 48 | #endif |