SAB2 interface.  
 More...
#include <modm/communication/sab2/interface.hpp>
|  | 
| using | Index = std::conditional_t< (N >=255), uint16_t, uint8_t > | 
|  | 
| using | Size = Index | 
|  | 
|  | 
| static void | initialize () | 
|  | Initialize the interface.  More... 
 | 
|  | 
| static void | sendMessage (uint8_t address, Flags flags, uint8_t command, const void *payload, Size payloadLength) | 
|  | Send a message.  More... 
 | 
|  | 
| template<typename T > | 
| static void | sendMessage (uint8_t address, Flags flags, uint8_t command, const T &payload) | 
|  | Send a message. 
 | 
|  | 
| static void | sendMessage (uint8_t address, Flags flags, uint8_t command) | 
|  | Send a empty message. 
 | 
|  | 
| static bool | isMessageAvailable () | 
|  | Check if a message was received.  More... 
 | 
|  | 
| static uint8_t | getAddress () | 
|  | 
| static uint8_t | getCommand () | 
|  | 
| static bool | isResponse () | 
|  | 
| static bool | isAcknowledge () | 
|  | Check if the message is an ACK or NACK.  More... 
 | 
|  | 
| static const uint8_t * | getPayload () | 
|  | Access the data of a received message.  More... 
 | 
|  | 
| static Size | getPayloadLength () | 
|  | 
| static void | dropMessage () | 
|  | End procession of the current message. 
 | 
|  | 
| static void | update () | 
|  | Update internal status.  More... 
 | 
|  | 
template<typename Device, std::size_t N = maxPayloadLength>
class modm::sab2::Interface< Device, N >
SAB2 interface. 
The framing is adapted from the HDLC asynchronous framing. See http://en.wikipedia.org/wiki/High-Level_Data_Link_Control#Asynchronous_framing
- Author
- Fabian Greif 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static const uint8_t* modm::sab2::Interface< Device, N >::getPayload | ( |  | ) |  |  | inlinestatic | 
 
 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static Size modm::sab2::Interface< Device, N >::getPayloadLength | ( |  | ) |  |  | inlinestatic | 
 
- Returns
- Size of the received message. Zero if no message is available at the moment. 
 
 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static void modm::sab2::Interface< Device, N >::initialize | ( |  | ) |  |  | static | 
 
Initialize the interface. 
The UART has the be configured before calling this method. 
 
 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static bool modm::sab2::Interface< Device, N >::isAcknowledge | ( |  | ) |  |  | inlinestatic | 
 
Check if the message is an ACK or NACK. 
- Returns
- trueif the message is an ACK,- falseon NACK.
 
 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static bool modm::sab2::Interface< Device, N >::isMessageAvailable | ( |  | ) |  |  | inlinestatic | 
 
Check if a message was received. 
Reset the status with a call of dropMessage(). 
 
 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static void modm::sab2::Interface< Device, N >::sendMessage | ( | uint8_t | address, |  
          |  |  | Flags | flags, |  
          |  |  | uint8_t | command, |  
          |  |  | const void * | payload, |  
          |  |  | Size | payloadLength |  
          |  | ) |  |  |  | static | 
 
Send a message. 
- Parameters
- 
  
    | address | receiver address |  | flags | see modm::sab::Flags |  | command | command byte |  | *payload | data field |  | payloadLength | size of the data field |  
 
 
 
template<typename Device , std::size_t N = maxPayloadLength> 
  
  | 
        
          | static void modm::sab2::Interface< Device, N >::update | ( |  | ) |  |  | static | 
 
Update internal status. 
Has to be called periodically. Encodes received messages. 
 
 
The documentation for this class was generated from the following file:
- communication/sab2/interface.hpp