29 #ifndef INC_CINOSPROCESSIMAGEVALUES_H
30 #define INC_CINOSPROCESSIMAGEVALUES_H
39 #define DF_INOS_IMAGE_VALUE_CFG_MASK_SYSTEM 0xFFFF0000 // config system area
40 #define DF_INOS_IMAGE_VALUE_CFG_MASK_INP 0x000F0000 // config input
41 #define DF_INOS_IMAGE_VALUE_CFG_MASK_OUT 0x00F00000 // config output
42 #define DF_INOS_IMAGE_VALUE_CFG_MASK_USER 0x0000FFFF // config user area
45 #define DF_INOS_IMAGE_VALUE_CFG_ENABLED 0x80000000 // config enabled
46 #define DF_INOS_IMAGE_VALUE_CFG_OVERWRITE 0x40000000 // config overwrite mode
47 #define DF_INOS_IMAGE_VALUE_CFG_ERROR 0x20000000 // config error
48 #define DF_INOS_IMAGE_VALUE_CFG_WARNING 0x10000000 // config warning
50 #define DF_INOS_IMAGE_VALUE_CFG_LINKED 0x10000000
51 #define DF_INOS_IMAGE_VALUE_CFG_SIMULATED 0x08000000 // config simulated
52 #define DF_INOS_IMAGE_VALUE_CFG_OFFLINE 0x04000000 // config channel offline
55 #define DF_INOS_IMAGE_VALUE_NBR_ENABLED 31 // config enabled
56 #define DF_INOS_IMAGE_VALUE_NBR_OVERWRITE 30 // config overwrite mode
57 #define DF_INOS_IMAGE_VALUE_NBR_ERROR 29 // config error
58 #define DF_INOS_IMAGE_VALUE_NBR_WARNING 28 // config warning
59 #define DF_INOS_IMAGE_VALUE_NBR_LINKED 28 // config linked
60 #define DF_INOS_IMAGE_VALUE_NBR_SIMULATED 27 // config simulated
76 class CINOSBusPortHandler;
83 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
84 virtual void SetOverwrite(
bool abValue)
override;
87 virtual bool GetOverwrite()
override;
89 virtual void SetOverwrite(uint16 auNumber,
bool abValue)
override;
92 ICACHE
virtual bool GetOverwrite(uint16 auNumber)
override;
96 virtual void SetEnabled(
bool abValue)
override;
98 virtual bool GetEnabled()
override;
100 virtual void SetEnabled(uint16 auNumber,
bool abValue)
override;
102 virtual bool GetEnabled(uint16 auNumber)
override;
105 virtual void SetSimulated(uint16 auNumber,
bool abValue)
override;
107 virtual bool GetSimulated(uint16 auNumber)
override;
110 virtual void SetConfig(uint16 auNumber, uint32 auConfig, uint32 auMask,
111 uint32 auOffset=0)
override;
114 virtual uint32 GetConfig(uint16 auNumber, uint32 auOffset=0)
override;
116 virtual void* GetConfigAdr(uint16 auNumber, uint32 auOffset=0)
override;
119 virtual void* GetConfigBaseAddress()
override;
122 virtual uint16 GetCycleNumber(uint16 auNumber)
override;
125 virtual void SetCycleNumber(uint16 auNumber, uint16 auCycleNumber, uint8 auBusId =
CINOSBus::GetFirstBus()->GetId(),
126 CINOSBusJob* apBusJob = 0)
override;
130 virtual uint16 GetCycleId(uint16 auNumber)
override;
133 virtual void SetCycleId(uint16 auNumber, uint16 auCycleId, uint8 auBusId,
134 CINOSBusPortHandler* apBusPortHandler)
override;
138 virtual void UpdateCycleId(uint16 auNumber, uint16 auCycleId)
override;
142 virtual uint8 GetBusId(uint16 auNumber)
override;
145 virtual CINOSBusJob* GetBusJob(uint16 auNumber)
override;
147 virtual CINOSBusPortHandler* GetBusPortHandler(uint16 auNumber)
override;
154 virtual void SetBusPortHandler(uint16 auNumber, CINOSBusPortHandler* apPortHandler);
168 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
169 ICACHE
virtual void Set(uint16 auChannel,
void* apValue,
170 bool abOverwrite =
false)
override;
174 ICACHE
virtual void Set64(uint16 auChannel,
void* apValue,
175 bool abOverwrite =
false);
180 ICACHE
virtual void Set(uint16 auChannel,
void* apValue)
override;
182 ICACHE
virtual void Set64(uint16 auChannel,
void* apValue);
185 virtual void MoveChannel(uint16 auOldNumber, uint16 auNewNumber)
override;
194 uint16* m_pCycleNumber;
198 void** m_pBusJobOrPortHandler;
212 #endif // INC_CINOSPROCESSIMAGEVALUES_H