104 lines
1.7 KiB
C
104 lines
1.7 KiB
C
#ifndef __UTYPES_H__
|
|
#define __UTYPES_H__
|
|
|
|
#include "cc.h"
|
|
|
|
/* Object dictionary storage */
|
|
|
|
typedef struct
|
|
{
|
|
/* Identity */
|
|
|
|
uint32_t serial;
|
|
|
|
/* Inputs */
|
|
|
|
struct
|
|
{
|
|
uint8_t Button1;
|
|
} Buttons;
|
|
|
|
/* Outputs */
|
|
|
|
struct
|
|
{
|
|
uint8_t LED0;
|
|
} LEDgroup0;
|
|
struct
|
|
{
|
|
uint8_t LED1;
|
|
} LEDgroup1;
|
|
|
|
/* Parameters */
|
|
|
|
struct
|
|
{
|
|
uint32_t Multiplier;
|
|
} Parameters;
|
|
uint32_t variableRW;
|
|
|
|
/* Manufacturer specific data */
|
|
|
|
struct
|
|
{
|
|
uint32_t Local_Error_Reaction;
|
|
uint16_t SyncErrorCounterLimit;
|
|
} ErrorSettings;
|
|
struct
|
|
{
|
|
uint16_t Sync_mode;
|
|
uint32_t CycleTime;
|
|
uint32_t ShiftTime;
|
|
uint16_t Sync_modes_supported;
|
|
uint32_t Minimum_Cycle_Time;
|
|
uint32_t Calc_and_Copy_Time;
|
|
uint32_t Minimum_Delay_Time;
|
|
uint16_t GetCycleTime;
|
|
uint32_t DelayTime;
|
|
uint32_t Sync0CycleTime;
|
|
uint16_t SMEventMissedCnt;
|
|
uint16_t CycleTimeTooSmallCnt;
|
|
uint16_t Shift_too_short_counter;
|
|
uint16_t RxPDOToggleFailed;
|
|
uint32_t Minimum_Cycle_Distance;
|
|
uint32_t Maximum_Cycle_Distance;
|
|
uint32_t Minimum_SM_Sync_Distance;
|
|
uint32_t Maximum_SM_Sync_Distance;
|
|
uint8_t SyncError;
|
|
} SyncMgrParam;
|
|
|
|
/* Dynamic TX PDO:s */
|
|
|
|
struct
|
|
{
|
|
uint8_t maxsub;
|
|
uint32_t value[8];
|
|
} PDO1A01;
|
|
|
|
/* Dynamic RX PDO:s */
|
|
|
|
struct
|
|
{
|
|
uint8_t maxsub;
|
|
uint32_t value[8];
|
|
} PDO1602;
|
|
|
|
/* Dynamic Sync Managers */
|
|
|
|
struct
|
|
{
|
|
uint8_t maxsub;
|
|
uint32_t value[8];
|
|
} SM1C12;
|
|
struct
|
|
{
|
|
uint8_t maxsub;
|
|
uint32_t value[8];
|
|
} SM1C13;
|
|
|
|
} _Objects;
|
|
|
|
extern _Objects Obj;
|
|
|
|
#endif /* __UTYPES_H__ */
|