#include <modm/platform/itm/itm.hpp>
 | 
| 
static void  | initialize () | 
|   | 
| 
static void  | writeBlocking (uint8_t data) | 
|   | 
| 
static void  | writeBlocking (const uint8_t *data, std::size_t length) | 
|   | 
| 
static void  | flushWriteBuffer () | 
|   | 
| 
static bool  | write (uint8_t data) | 
|   | 
| 
static std::size_t  | write (const uint8_t *data, std::size_t length) | 
|   | 
| 
static bool  | isWriteFinished () | 
|   | 
| 
static std::size_t  | discardTransmitBuffer () | 
|   | 
| 
static bool  | read (uint8_t &) | 
|   | 
| 
static std::size_t  | read (uint8_t *, std::size_t) | 
|   | 
| 
static std::size_t  | discardReceiveBuffer () | 
|   | 
| 
static void  | update () | 
|   | 
| static void  | acknowledgeInterruptFlag () | 
|   | 
| template<uint64_t available, uint64_t requested, percent_t tolerance>  | 
| static void  | assertBaudrateInTolerance () | 
|   | 
| 
template<double available, double requested, percent_t tolerance>  | 
| static void  | assertDurationInTolerance () | 
|   | 
| 
static void  | clearError () | 
|   | Reset the sticky error indication. 
  | 
|   | 
| 
static void  | configurePurpose () | 
|   | configures a peripheral for a specific purpose 
  | 
|   | 
| template<class... Signals>  | 
| static void  | connect () | 
|   | 
| 
static bool  | getInterruptFlag () | 
|   | Read an interrupt flag. 
  | 
|   | 
| 
static void  | getParameter () | 
|   | returns a parameter 
  | 
|   | 
| static bool  | hasError () | 
|   | 
| static std::size_t  | receiveBufferSize () | 
|   | 
| 
static void  | setParameter () | 
|   | sets a parameter 
  | 
|   | 
| static std::size_t  | transmitBufferSize () | 
|   | 
 | 
| 
static constexpr size_t  | RxBufferSize = 0 | 
|   | 
| 
static constexpr size_t  | TxBufferSize = 0 | 
|   | 
 | 
| 
static void  | enable (uint8_t prescaler) | 
|   | 
| 
static bool  | write_itm (uint32_t data, uint8_t size=1) | 
|   | 
Instruction Trace Macrocell (ITM) Uart Interface
- Author
 - Niklas Hauser 
 
 
  
  
      
        
          | static void modm::PeripheralDriver::acknowledgeInterruptFlag  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inheritedstatic   | 
  
 
Acknowledge an interrupt flag.
We use acknowledge here, since it describes the intention rather than the actual implementation. 
 
 
template<uint64_t available, uint64_t requested, percent_t tolerance> 
  
  
      
        
          | static void modm::PeripheralDriver::assertBaudrateInTolerance  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inheritedinlinestatic   | 
  
 
Since baudrates are usually generated by prescaling a system clock, only several distinct values can be generated. This method checks if the user requested baudrate is within error tolerance of the system achievable baudrate. 
 
 
template<class... Signals> 
  
  
      
        
          | static void modm::Uart::connect  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inheritedstatic   | 
  
 
Connect GPIOs to the peripheral and configure them.
This configures the Tx and Rx signals as output and input and connects them.
- Template Parameters
 - 
  
    | Signals | One Tx and one Rx signal are required and can be passed out-of-order.  | 
  
   
 
 
  
  
      
        
          | static bool modm::Uart::hasError  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inheritedstatic   | 
  
 
- Returns
 true if an error occured during any write or read 
 
 
  
  
      
        
          | static std::size_t modm::Uart::receiveBufferSize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inheritedstatic   | 
  
 
- Returns
 - the size of the receive FIFO queue. 
 
 
 
  
  
      
        
          | static std::size_t modm::Uart::transmitBufferSize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inheritedstatic   | 
  
 
- Returns
 - the size of the transmit FIFO queue. 
 
 
 
The documentation for this class was generated from the following files: