HF-BNO08x  0.1.0-dev
Loading...
Searching...
No Matches
bno08x_comm_interface.hpp File Reference

CRTP-based communication interface for the BNO08x IMU family. More...

#include <cstdint>
Include dependency graph for bno08x_comm_interface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  bno08x::CommInterface< Derived >
 CRTP base class for BNO08x communication interfaces. More...
 

Namespaces

namespace  bno08x
 

Enumerations

enum class  BNO085Interface : uint8_t { I2C = 0 , UARTRVC = 1 , UART = 2 , SPI = 3 }
 Identifies the host interface type that a CommInterface provides. More...
 
enum class  bno08x::CtrlPin : uint8_t {
  bno08x::RSTN = 0 , bno08x::BOOTN , bno08x::WAKE , bno08x::PS0 ,
  bno08x::PS1
}
 Identifies the hardware control pins of the BNO08x. More...
 
enum class  bno08x::GpioSignal : uint8_t { bno08x::INACTIVE = 0 , bno08x::ACTIVE = 1 }
 Abstract signal level for control pins. More...
 

Detailed Description

CRTP-based communication interface for the BNO08x IMU family.

Enumeration Type Documentation

◆ BNO085Interface

enum class BNO085Interface : uint8_t
strong

Identifies the host interface type that a CommInterface provides.

Returned by CommInterface::GetInterfaceType(). The BNO085 driver uses this value to guard which operations are valid at runtime:

  • SH-2 mode (Begin, Update, EnableSensor, Dfu): requires I2C, SPI, or UART.
  • RVC mode (BeginRvc, ServiceRvc, CloseRvc): requires UARTRVC.

The enum values also correspond to the BNO08x PS1/PS0 pin states that select the interface at boot time.

Enumerator
I2C 

I2C bus (PS1=0, PS0=0). Supports SH-2 and DFU.

UARTRVC 

UART in RVC mode (PS1=1, PS0=0). RVC frames only.

UART 

UART in SH-2 mode (PS1=0, PS0=1). Supports SH-2 and DFU.

SPI 

SPI bus (PS1=1, PS0=1). Supports SH-2 and DFU.