SCOM Serial Communication Protocol  0.5.2
Data Fields
HAL_PACKED Struct Reference

SCOM version record. More...

#include <scom.h>

Data Fields

uint8_t verHi
 version high number More...
 
uint8_t verLo
 version low number More...
 
uint16_t revision
 protocol revision More...
 
SCOMVersion version
 SCOM version record. More...
 
uint32_t deviceClass
 Device class. More...
 
uint8_t deviceUID [16]
 Device unique identifier. More...
 
uint8_t sync
 synchronization field: always 0xFF More...
 
uint8_t soack
 start of ACK frame field More...
 
uint8_t ctrl
 frame control field More...
 
uint8_t type
 frame type field More...
 
uint16_t frame_crc
 frame crc field More...
 
uint16_t crc
 crc field More...
 
uint8_t sof
 synchronization field: always 0xFF More...
 
uint8_t size
 frame type field More...
 
uint8_t null
 TODO: XOR from sof, ctrl, type, size. More...
 
union {
   struct {
      uint8_t   data [UINT8_C(255)]
 
   }   singleframe
 payload definition for a single frame More...
 
   struct {
      uint32_t   multi_id
 
      uint32_t   offset
 multiframe packet id More...
 
      uint32_t   total_size
 multiframe current frame offset (denotes progress) More...
 
      uint8_t   data [UINT8_C(255)-12]
 total size of a multiframe More...
 
   }   multiframe
 payload definition for a multi frame More...
 
   struct {
      uint8_t   primitive_id
 
      uint8_t   data [UINT8_C(255)-1]
 primitive ID More...
 
   }   serviceframe
 payload definition for service frame More...
 
   struct {
      uint32_t   multi_id
 
      uint32_t   offset
 multiframe packet id More...
 
      uint32_t   total_size
 multiframe current frame offset (denotes progress) More...
 
      uint8_t   primitive_id
 total size of a multiframe More...
 
      uint8_t   data [UINT8_C(255)-13]
 primitive ID More...
 
   }   servicemultiframe
 payload definition for a service multi frame More...
 
payload
 payload field More...
 
uint32_t received_timestamp
 time stamp of received frame - value should be set as soon as possible More...
 

Detailed Description

SCOM version record.

Definition of an SCOM frame.

Definition of an SCOM acknowledgment frame.

Definition of a structure that identifies an SCOM device.

Definition at line 81 of file scom.h.

Field Documentation

uint16_t HAL_PACKED::crc
uint8_t HAL_PACKED::ctrl
uint8_t HAL_PACKED::data[UINT8_C(255)-13]

total size of a multiframe

primitive ID

Definition at line 67 of file scom_frame.h.

uint32_t HAL_PACKED::deviceClass

Device class.

Definition at line 90 of file scom.h.

Referenced by SCOM_Init(), and SCOM_WaitForDevice().

uint8_t HAL_PACKED::deviceUID[16]

Device unique identifier.

Definition at line 91 of file scom.h.

Referenced by SCOM_Init().

uint16_t HAL_PACKED::frame_crc

frame crc field

Definition at line 25 of file scom_ack_frame.h.

Referenced by SCOMAckFrame_IsValidAck().

uint32_t HAL_PACKED::multi_id

Definition at line 71 of file scom_frame.h.

struct { ... } HAL_PACKED::multiframe
uint8_t HAL_PACKED::null
uint32_t HAL_PACKED::offset

multiframe packet id

Definition at line 72 of file scom_frame.h.

union { ... } HAL_PACKED::payload
uint8_t HAL_PACKED::primitive_id

total size of a multiframe

Definition at line 78 of file scom_frame.h.

uint32_t HAL_PACKED::received_timestamp

time stamp of received frame - value should be set as soon as possible

Definition at line 93 of file scom_frame.h.

uint16_t HAL_PACKED::revision

protocol revision

Definition at line 84 of file scom.h.

Referenced by SCOM_Init().

struct { ... } HAL_PACKED::serviceframe

payload definition for service frame

Referenced by SCOM_SendServiceFrame().

struct { ... } HAL_PACKED::servicemultiframe

payload definition for a service multi frame

Referenced by SCOM_SendServiceMultiFrame().

struct { ... } HAL_PACKED::singleframe

payload definition for a single frame

Referenced by SCOM_SendFrame(), SCOM_SendFrameWithoutAck(), SCOMFrame_CalculateCRC(), and SCOMFrame_GetPayloadPtr().

uint8_t HAL_PACKED::size
uint8_t HAL_PACKED::soack

start of ACK frame field

Definition at line 22 of file scom_ack_frame.h.

Referenced by SCOM_Init(), and SCOMAckFrame_CalculateCRC().

uint8_t HAL_PACKED::sof
uint8_t HAL_PACKED::sync

synchronization field: always 0xFF

Definition at line 21 of file scom_ack_frame.h.

Referenced by SCOM_Init(), SCOMAckFrame_CalculateCRC(), SCOMAckFrame_Initialize(), SCOMFrame_GetTotalFrameSize(), and SCOMFrameQueue_Lock().

uint32_t HAL_PACKED::total_size

multiframe current frame offset (denotes progress)

Definition at line 73 of file scom_frame.h.

uint8_t HAL_PACKED::type
uint8_t HAL_PACKED::verHi

version high number

Definition at line 82 of file scom.h.

Referenced by SCOM_Init().

uint8_t HAL_PACKED::verLo

version low number

Definition at line 83 of file scom.h.

Referenced by SCOM_Init().

SCOMVersion HAL_PACKED::version

SCOM version record.

Definition at line 89 of file scom.h.

Referenced by SCOM_Init().


The documentation for this struct was generated from the following files: