telemetry

Dependents:   Everything Sequential_Timing FixedPWM FixedPWMWill

Committer:
vsutardja
Date:
Fri Mar 18 22:33:32 2016 +0000
Revision:
0:aca5a32d2759
init

Who changed what in which revision?

UserRevisionLine numberNew 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