123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #pragma once
- #include <stdint.h>
- #include "AP_HAL_Namespace.h"
- #include "utility/BetterStream.h"
- class AP_HAL::UARTDriver : public AP_HAL::BetterStream {
- public:
- UARTDriver() {}
-
- virtual void begin(uint32_t baud) = 0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- virtual void begin(uint32_t baud, uint16_t rxSpace, uint16_t txSpace) = 0;
- virtual void end() = 0;
- virtual void flush() = 0;
- virtual bool is_initialized() = 0;
- virtual void set_blocking_writes(bool blocking) = 0;
- virtual bool tx_pending() = 0;
-
- virtual bool lock_port(uint32_t write_key, uint32_t read_key) { return false; }
-
-
- virtual size_t write_locked(const uint8_t *buffer, size_t size, uint32_t key) { return 0; }
-
- virtual int16_t read_locked(uint32_t key) { return -1; }
-
-
- virtual bool set_options(uint8_t options) { return options==0; }
- virtual uint8_t get_options(void) const { return 0; }
- enum {
- OPTION_RXINV=(1U<<0),
- OPTION_TXINV=(1U<<1),
- OPTION_HDPLEX=(1U<<2),
- OPTION_SWAP=(1U<<3),
- };
- enum flow_control {
- FLOW_CONTROL_DISABLE=0, FLOW_CONTROL_ENABLE=1, FLOW_CONTROL_AUTO=2
- };
- virtual void set_flow_control(enum flow_control flow_control_setting) {};
- virtual enum flow_control get_flow_control(void) { return FLOW_CONTROL_DISABLE; }
- virtual void configure_parity(uint8_t v){};
- virtual void set_stop_bits(int n){};
-
- virtual bool set_unbuffered_writes(bool on){ return false; };
-
- virtual bool wait_timeout(uint16_t n, uint32_t timeout_ms) { return false; }
-
- virtual void _timer_tick(void) { }
-
- virtual uint64_t receive_time_constraint_us(uint16_t nbytes) { return 0; }
- virtual uint32_t bw_in_kilobytes_per_second() const {
- return 57;
- }
- };
|