dsm-api-v2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ds485.h File Reference

Go to the source code of this file.

Data Structures

struct  ds485_container
 dS485 API Daten Container More...
 
struct  DS485Statistics
 dS485 Protocol Statistic More...
 

Macros

#define DS485_CONTAINER_DATA_LENGTH   DS485_MAX_PAYLOAD_SIZE
 
#define DS485_CONTAINER_SIZE   (sizeof(ds485_container_t) - (DS485_CONTAINER_DATA_LENGTH))
 
#define DS485_FILTER_ALL_RESPONSES   0x01
 Packet filter bits. More...
 
#define DS485_MAX_PAYLOAD_SIZE   127
 
#define DS485_MAX_PAYLOAD_SIZE_RAW   DS485_MAX_PAYLOAD_SIZE + 1
 
#define RX_FLAG_CRC_ERROR   0x01
 Receive frame error bits. More...
 
#define RX_FLAG_ERRORS   (RX_FLAG_CRC_ERROR | RX_FLAG_FRAME_ERROR | RX_FLAG_PROTOCOL_ERROR)
 
#define RX_FLAG_FRAME_ERROR   0x02
 
#define RX_FLAG_INVALID_ADDRESS   0x80
 
#define RX_FLAG_NOTFORME   0x10
 
#define RX_FLAG_PROTOCOL_ERROR   0x04
 

Enumerations

enum  { DS485_INTERNAL_ERROR_OK = 0, DS485_INTERNAL_ERROR_GENERAL = -1, DS485_INTERNAL_ERROR_EMPTY_TX_QUEUE = -2, DS485_INTERNAL_ERROR_INVALID_BUS_ADDR = -3 }
 Internal errors. More...
 
enum  bus_state_t {
  DS485_STATE_ISOLATED = 1, DS485_STATE_JOIN, DS485_STATE_CONNECTED, DS485_STATE_ACTIVE,
  DS485_STATE_DISCONNECTED
}
 Status des dS485 Bus. More...
 
enum  container_flags_t { DS485_FLAG_NONE = 1, DS485_FLAG_BROADCAST = 2 }
 
enum  container_type_t { DS485_CONTAINER_REQUEST = 1, DS485_CONTAINER_RESPONSE, DS485_CONTAINER_EVENT }
 Typ des dS485Packets. More...
 

Functions

struct ds485_container __attribute__ ((packed)) ds485_container_t
 dS485 API Daten Container More...
 

Variables

union {
   struct {
      unsigned char   data [DS485_MAX_PAYLOAD_SIZE]
 
      unsigned char   transactionId
 
   } 
 
   unsigned char   raw_data [DS485_MAX_PAYLOAD_SIZE_RAW]
 
}; 
 
typedef __attribute__
 
container_flags_t containerFlags
 
container_type_t containerType
 
dsid_t destinationId
 
uint8_t length
 
dsid_t sourceId
 

Macro Definition Documentation

#define DS485_CONTAINER_DATA_LENGTH   DS485_MAX_PAYLOAD_SIZE
#define DS485_CONTAINER_SIZE   (sizeof(ds485_container_t) - (DS485_CONTAINER_DATA_LENGTH))
#define DS485_FILTER_ALL_RESPONSES   0x01

Packet filter bits.

#define DS485_MAX_PAYLOAD_SIZE   127
#define DS485_MAX_PAYLOAD_SIZE_RAW   DS485_MAX_PAYLOAD_SIZE + 1
#define RX_FLAG_CRC_ERROR   0x01

Receive frame error bits.

#define RX_FLAG_FRAME_ERROR   0x02
#define RX_FLAG_INVALID_ADDRESS   0x80
#define RX_FLAG_NOTFORME   0x10
#define RX_FLAG_PROTOCOL_ERROR   0x04

Enumeration Type Documentation

anonymous enum

Internal errors.

Enumerator
DS485_INTERNAL_ERROR_OK 
DS485_INTERNAL_ERROR_GENERAL 
DS485_INTERNAL_ERROR_EMPTY_TX_QUEUE 
DS485_INTERNAL_ERROR_INVALID_BUS_ADDR 

Status des dS485 Bus.

Enumerator
DS485_STATE_ISOLATED 
DS485_STATE_JOIN 
DS485_STATE_CONNECTED 
DS485_STATE_ACTIVE 
DS485_STATE_DISCONNECTED 
Enumerator
DS485_FLAG_NONE 
DS485_FLAG_BROADCAST 

Typ des dS485Packets.

Enumerator
DS485_CONTAINER_REQUEST 
DS485_CONTAINER_RESPONSE 
DS485_CONTAINER_EVENT 

Function Documentation

struct ds485_container __attribute__ ( (packed)  )

dS485 API Daten Container

Variable Documentation

union { ... }
typedef __attribute__
container_flags_t containerFlags
container_type_t containerType
unsigned char data[DS485_MAX_PAYLOAD_SIZE]
dsid_t destinationId
uint8_t length
unsigned char raw_data[DS485_MAX_PAYLOAD_SIZE_RAW]
dsid_t sourceId
unsigned char transactionId