78 ICACHE
virtual void Set(uint16 auNumber, real64 arValue)
override;
80 ICACHE
virtual real64 Get(uint16 auNumber)
override;
82 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
83 bool Set(uint16 auNumber,
bool abOverwrite =
false);
87 bool Clear(uint16 auNumber,
bool abOverwrite =
false);
92 bool Set(uint16 auNumber);
94 bool Clear(uint16 auNumber);
97 bool SetEx(uint16 auNumber, uint16 auIndex);
99 bool SetLatched(uint16 auNumber);
101 bool ClearEx(uint16 auNumber, uint16 auIndex);
103 bool ClearLatched(uint16 auNumber);
105 bool Test(uint16 auNumber);
107 bool TestEx(uint16 auNumber, uint16 auIndex);
109 bool TestLatched(uint16 auNumber);
111 uint32 WaitForSet(uint16 auNumber, uint32 aTimeout=INOS_WAIT_FOREVER);
114 uint32 WaitForCleared(uint16 auNumber, uint32 aTimeout=INOS_WAIT_FOREVER);
117 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
118 virtual void SetOverwrite(
bool abValue)
override;
121 virtual bool GetOverwrite()
override;
123 virtual void SetOverwrite(uint16 auNumber,
bool abValue)
override;
126 virtual bool GetOverwrite(uint16 auNumber)
override;
129 virtual void SetSimulated(uint16 auNumber,
bool abValue)
override;
131 virtual bool GetSimulated(uint16 auNumber)
override;
133 void ConvertToReal(uint16 auOldNumber, uint16 auNewNumber);
136 uint32 auSimulate = DF_INOS_IMAGE_CHN_SIM_DEF);
139 uint32 auSimulate = DF_INOS_IMAGE_CHN_SIM_DEF);
141 virtual void SetConfig(uint16 auNumber, uint32 auConfig, uint32 auMask,
142 uint32 auOffset=0)
override;
145 virtual uint32 GetConfig(uint16 auNumber, uint32 auOffset=0)
override;
148 virtual void UpdateCycleId(uint16 auNumber, uint16 auCycleId)
override;
153 virtual void* GetRealAddress(uint16 auNumber)
const;
156 virtual void* GetLatchedBaseAddress();
161 void SetFilter(uint16 auNumber, uint16 auFilter);
163 uint16 GetFilter(uint16 auNumber);
165 void SetInverted(uint16 auNumber,
bool abInverted);
167 bool GetInverted(uint16 auNumber);
169 void* GetInvertedBaseAddress();
171 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
172 void* GetOverwrite0BaseAddress();
174 void* GetOverwrite1BaseAddress();
178 CINOSBit* CreateVirtual(
const char* apName);
182 virtual void Remove(uint32 auChannel)
override;
193 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
194 CINOSBits (
char* apName, uint32 auNumber,
void* apImage,
195 bool abSupportOverwrite =
true);
197 CINOSBits (
char* apName, uint32 auNumber,
void* apImage);
202 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
203 virtual void Set(uint16 auChannel,
void* apValue,
204 bool abOverwrite =
false)
override;
209 virtual void Set(uint16 auChannel,
void* apValue)
override;
212 ICACHE
virtual void Set(uint16 auChannel,
void* apValue, uint32 auMask)
override;
215 ICACHE
void Update(uint32 auChannel, uint32 auOldBits);
218 static CINOSBits* Create(uint32 auImageNumber);
220 virtual void MoveChannel(uint16 auOldNumber, uint16 auNewNumber)
override;
226 void CreateArray(uint16 auChannel, uint16 auArrayLength);
232 uint32 m_uNumberUnits;
238 #if defined(INOS_PROCESSIMAGE_OVERWRITE)
239 bool m_bSupportOverwrite;
241 uint32* m_pOverwrite_0;
243 uint32* m_pOverwrite_1;
246 uint32* m_pSimulated;
255 #ifndef INOS_NO_BIT_EVENT_SUPPORT