29 uint8_t serial_instance) :
34 if (
uart !=
nullptr) {
61 if (
uart ==
nullptr) {
69 while (nbytes-- > 0) {
83 reading_cm = 100.0f * sum /
count;
108 return valid_sentence;
151 const char *term_type = &
_term[2];
152 if (strcmp(term_type,
"DBT") == 0) {
154 }
else if (strcmp(term_type,
"DPT") == 0) {
180 if (a >=
'A' && a <=
'F')
182 else if (a >=
'a' && a <=
'f')
static AP_SerialManager serial_manager
virtual void begin(uint32_t baud)=0
uint32_t find_baudrate(enum SerialProtocol protocol, uint8_t instance) const
void update(void) override
sentence_types _sentence_type
bool get_reading(uint16_t &reading_cm)
bool decode_latest_term()
static int16_t char_to_hex(char a)
AP_HAL::UARTDriver * uart
AP_RangeFinder_NMEA(RangeFinder::RangeFinder_State &_state, AP_SerialManager &serial_manager, uint8_t serial_instance)
static bool detect(AP_SerialManager &serial_manager, uint8_t serial_instance)
virtual uint32_t available()=0
uint32_t _last_reading_ms
const AP_HAL::HAL & hal
-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
bool is_negative(const T fVal1)
void set_status(RangeFinder::RangeFinder_Status status)
RangeFinder::RangeFinder_State & state
AP_HAL::UARTDriver * find_serial(enum SerialProtocol protocol, uint8_t instance) const